Have to agree about PulseAudio, I must admit. It grossly overcomplicates what always used to be a simple, reliable system.....ALSA.
For me, it's remarkably easy to switch sound cards, since one of our Puppy devs has written a script specifically for doing just that.....and you also get a rather smart GUI to make it easier to use. It certainly simplifies the process for newbies (and even many of the 'regulars'!)
I have no problem with PulseAudio itself; its intention was always to give finer-grained control than what ALSA alone was capable of. It does that very well. My 'beef' is with the distro developers, who have, as you say, made PulseAudio the 'default', whether you want it or not. Pulse always uses ALSA as the back-end, true.....but to use it on its own now has the average user having to jump through hoops to achieve what should be easy to start with.....
Much easier, to my way of thinking, to make PulseAudio an easy-to-use 'option' that works 'on top' of ALSA if you want it.....but leave ALSA to work as it has always done if that's how the user wants it.
This diagram shows, quite clearly, just how much extra complexity PulseAudio adds to the 'mix'!