From my short experience with Linux (about 3 years now), all I can say is: "Whatever is inbuilt on the main board is not good", period.
I run currently 5 different machines, with _all_ of them, I got some sort of problem with onboard device:
Intel Desktop Board D850EMv2 would cause random kernel panics... Reason? The Inbuilt network card causes the problem.. Solution? Install a cheap Lynx Ethernet card and disabled the inbuilt one from the BIOS.
AMD Duron 800 MHZ has an inbuilt sound card too, the problem is quite similar to yours: aRts sucks, ALSA sucks. Period. There's no real solution for this besides wasting a great deal of time re-compiling the kernel and ALSA. Solution: I bought a cheap Zoltrix Sound card which fixed the problem.
Linux really does not like onboard stuff. Another thing that should have been addressed long ago is winmodems. That surely is a big frontier for anyone who wants to try Linux and cannot connect to the net because of a cheap crap modem.
And that's a big deal actually. If I have a computer where I've to replace modem, sound card, scanner and printer, it is way cheaper to buy WinXP home for like 99 bucks, and does a nice job, be you a gamer, a developer or an occasional user.
All I can recommend you is a cheap sound card like mine and good luck!