learning CS (computer science) won't make you a better programmer. But, it will give you important theoretical tools, and more importantly - it will teach you how to think. There are other options, mostly from the engineering world, that can directly teach you coding instead - if this is what you want.
If your ultimate goal is practical code-writing software engineer, then probably learning software engineering from an engineering department - is the best go-to.
Computer science is purely theoretical. Yes, there are a lot of useful practical things you can learn in computer science, but I doubt that you won't learn them in an engineering major.
That being said, I'm majoring Computer science (and only computer science), so I don't know how accurate the above information is, as it is based on the basic knowledge that I have on the engineering faculty in my university, when I am in the exact sciences faculty.
In my opinion, there is a big benefit of to majoring computer science. I think it teaches well how to think and how to solve problems in ways that might seem very unintuitive at the start (also, it will actually teach you what we can't do. Its also important to know if the problem we want to solve actually has a solution, before we try to find it...). This generally allows you to construct better algorithms to solve problems, and also algorithms for seemingly really hard questions. For example, say you have a geometrical space and a polygon in it. How do you think we can know if a certain input point is in that polygon? This question has many practical usages, and is answered in a computational geometry course - that you can learn in a CS degree. That being said, there are a bunch of other problems you will probably never need to use, such as algorithms in NP that use an all-powerful prover.
Personally, I like to describe computer science as a special branch of mathematics that deals with "computational" problems. In this sense, CS is like Physics or Mathematics or even Chemistry. While coding, I would describe as some sort of combination, or weird mix between CS, and other less "exact" or less "science-ish" subjects.
If you strive for something that is more "high-level" than just writing programs, or maybe you just like theory in general, then CS is a very good choice for you. It will give you a wide range of tools that you can use pretty much everywhere.
Once again, this is only my opinion. It could be much different than other's opinions, so please ask more people. Maybe people you know that learned CS, maybe people you know from the industry. Ask a wide range of people, and try to understand for yourself what CS means and whether it suits you.