Sounds seems to be one of those black arts, with lots of strange programming going on. We have these sound mixing apps, but they don't seem to be all that well designed. To a limited extent they have been able to mix sounds from more than one source. But the UI is awkward for setting the mix levels (suggestion to those developers: try working a real studio mixer some day). And the big issue I see in all of them is the inability to send the same sound to more than one sound device. I plug in 2 headphones and only 1 can ever get the sound at a time.
What we need is a smart sound server. It gets connections from local sound sources via unix named sockets so authentication is simply by userid. It gets connections from network with various authentication methods available. These are the main sound sources. It can output to any or all sound devices, including the connecting to an instance of itself on the same machine, virtual host, or elsewhere on the network (and more than one at a time, too).
Is that what we have now? If yes, then they need to debug and fix it. If not, then make it so we can produce sound from inside VMs. So far, sound continues to be a mess that can't be managed well and works only in limited ways.