To give some context to my perspective, I spent much of my early engineering career as an ME doing my own design work, generally in Catia, and then machining through mastercam on Haas machines. Catia doesn't integrate into mastercam as well as some of the solidworks plug ins, at least with the versions we had, so I generally did everything via step file import into mastercam. I've played with HSM as well as some cheaper cam solutions (vectra procut, etc).One mistake that I have seen over and over again from those I have learned from, is that they get so stuck in their ways (myself included) that we stop paying learning the evolving techniques.
Solidworks has many CAM plugins (I've only played with HSM , Mastercam, and Camworks) that operate inside of Solidworks and interface fairly well. There is no intermediate file translation needed. And while I am not necessarily a fan of the some of the machining strategies, they are employing feature based machining which updates parametrically.
I should also add that of the all the maintstream cad/3d modeling softwares I've used, I hate solidworks the most. It always great for 95% of what I'm trying to do and then makes me homicidal when I get to the other 5%. I'm sure most of that is due to me knowing how to get other cad softwares to do what I want and trying to impose those methods onto solidworks.