I suspect that my self-taught background allowed me to get more out of the college classes than those without. I could spend less time stressing out about homework and cramming memorization and more time contemplating the reasons and ramifications of things we were being taught. While some graduates feel like all they got out of college was a piece of paper to find a job, I feel like I actually got my money's worth.
Wasn't going to post originally, since I was both self taught and have a degree (few months from a masters), but this is my general feeling also. I had programming experience starting before high school since it was my hobby. When I decided to go to a university I just skipped the first class and jumped into advanced courses right away. Learned a lot of interesting algorithms and new ways to look at problems.
If you're worried that a CS degree might be too easy, then you need to talk to a university advisor. It's often possible to simply sit down and explain your situation and replace classes with more advanced ones. You will find though you can't skip some of them since they include things you wouldn't touch as a hobby programmer. As a simple example the third class is oftentimes data and file structures which explains run-times and goes through things like hash based data structure implementations. Most languages have them in their standard library so hobby programmers, and to an extent professionals, don't ever implement them, but at the same time don't understand their performance characteristics when they need to. A good CS degree will simply make you a more well rounded programmer by introducing you to algorithms and ideas outside of your direct interests.
I think the hardest thing to teach myself so far has been network and database programming. Ah the wonders of Google...
To be completely honest network programming at my university was just the basics of the OSI model and learning about protocols like DNS and how the Internet and networks in general function. There was no class for actual socket programming. Any class that required that simply assumed everyone knew it or could learn it quickly for the assignment. I don't know of anyone that actually learns proper networking like IOCP and epoll based methods. Most of the time you'll see people learning/using "archaic" APIs or methods.
[size=2]Also I don't trust people that attempt to self teach themselves databases. Too many bad designs. [size=2]Cow book ftw.