I may be somewhat biased since I have a BS and MS in Computer Science. Computer Science gives you a good foundation to understanding what is going on behind the scenes. More understanding is better. There are libraries and built in functions for just about everything these days which anybody can use, but you are better able to diagnose problems when something goes wrong if you have a deeper understanding of how they work.
A recent CS grad and a self taught developer with 4 years of experience are not at the same level. The self taught person is generally going to be better at writing applications. However, in the long run a person with a CS degree will surpass the self taught person. This of course assumes equal levels of talent. About 10% of developers are just better than the rest by an order of magnitude or more.
I learned a lot in school that isn’t particularly useful for my job. For instance, no one has asked me to write an application to solve differential equations. I did have to write a quick sort in basic when I first graduated. I also ran into an issue recently where a client had some equations they wanted coded into an application for reporting. I had a self taught developer who just looked at it and had no clue. I coded the equations into a function for him so he could finish the report.