I'm just finishing up a BSCS, and frankly the CS stuff seems pretty helpful overall. Algorithm design and analysis builds up my problem solving chops, AI teaches me interesting techniques, and automata and languages gives me a good theoretical basis behind development folk wisdom like "you'll never have sufficient test coverage to get rid of ALL the bugs" and "you can't parse HTML with regular expressions". Compilers and operating systems give me great examples of how to design and structure a large system.
On the other hand, the "software engineering" courses I've taken seem to be teaching little more than 1990's era process and testing methodologies. My school has an apparent fondness for teaching RUP, a methodology invented by IBM[1] to sell CASE tools. The best explanation I've gotten from instructors about this is a combination of "defined process models give us something we can write exams for" and "students need to be familiarized with formal process models in case they run into them in industry". I won't say I've learned absolutely nothing from these classes--there's some good stuff in the testing class about how to design tests[2], and the first software engineering class assigned readings from The Mythical Man-Month (always worthwhile) and taught us through experience that going through the correct processes and writing up all the design documents IBM wants you to stretches out a 2 developer, 2 week project to an entire semester for 9 developers, plus you don't finish the project.
On balance, I'd say the people who know about computer science are university faculty, and the people who know about software development are developing software somewhere else, and I'd rather learn something useful about computer science from competent computer scientists rather than learning about software development from people who don't actually develop software.
[1] By "IBM", I mean "a company that IBM has later acquired".
[2] Especially if you're coding in Java, C++, or C#. The software engineering curriculum hasn't quite caught up to the idea that different kinds of languages are used to develop actual applications.