I think it also depends on the card on how the audio sounds on Linux.
My personal experience is, most onboard soundcards never sound good in the past, nowadays might be different.
My Aureal Vortex II sounds superb in Linux, even nowadays still compared to most new cards. In fact it sounds even better than my Auzentech Prelude, which in Windows is great. The problem is, Creative sucks on Linux, yet have superb drivers on Windows.
The difference? The Prelude uses software driver mixing, although it has pretty good hardware mixing, its a chip that needs to be programmed by the driver, where as the Vortex II is a hardware chip and can't be re-programmed, the driver merely enables the pathways, which is why that card sounds amazing in Linux. So while the reprogram-ability on the Creative line of cards are amazing..because the source for that part was never opened, only basic functionality works on Linux and you miss all the great features.
In that regards, I think spd/if and hdmi is the future, because it bypasses DACs ect on the soundcard and use that of the AV Receiver ect.
Mostly, I think the problem lies with the hardware vendors, and not really Linux, though there are ways to make things sound better, for example, lately the OSS sound system actually sound better than ALSA, though few people use OSS and fewer apps support it, but those that do, sounds great. Perhaps ALSA needs a few improvements, especially since it sucks to need both ALSA and Pulse Audio.