I never liked the physical switch because I would switch it on accident. I want my phone on vibrate 99.9% of the time, so the switch is kind of wasted space, which is why I like the idea of the programmable button better than the switch.
Android actually improved their silent/vibrate/ring switching a couple of years ago. You no longer need to go into the settings or even the quick settings. You just press one of the volume buttons, and a little pop-up comes up showing your volume level. On that pop-up, there's a button to toggle the silent/vibrate/ring state. I think it's easy enough, but you do need to have your screen on, which I could see defeating the purpose for people who use that feature a lot.
The slider was probably the feature that I liked least about my OnePlus phones, and it was actually a factor in me deciding to not get a OnePlus phone again. Unlike the iPhone switch, which had an action that was perpendicular to the direction that my phone was moving when putting it into my pocket, the OnePlus phone's slider was parallel to that movement. So the slider would change positions every time my phone would go into my pocket. I like my phone on vibrate 99.9% of the time, so I always needed it in the middle position, which was the hardest one to get it into. I always found myself wishing I could disable that feature, but I never found a way to.