It's true that CS is more theoretical and not that useful for the majority of paid programming work out there. However you can go get a job anywhere building CRUD apps and acquire the knowledge to build a Rails app or whatever is the flavor of the day, but finding a job where you can, for example, build a compiler is rare. In a good CS program you get to do dozens of such projects from implementing a ray tracer to a network stack to hand optimizing decompiled assembly.
Aside from feeding your curiosity, the practical advantage of a CS degree is that it gives you the lay of the land of computation in general, so that if you are lucky enough to work on something novel and challenging that requires more advanced data structures or algorithms then you'll at least know where to start researching. Without CS you won't know what you don't know and so you are likely to miss entire avenues of exploration.
The idea that you will learn more in industry than in a CS degree only applies if A) you are in a shitty CS program or B) you aren't trying hard enough to learn anything. If you are so eager to get out into the real world, do a startup in your spare time—you'll never have as much spare time available for projects as in college.
Granted the ever increasingly extreme expense of college throws a major wet towel over the whole value proposition, but let's not conflate that with the unique learning opportunity that it represents.