I think this is a common misconception. Once you wrap your head around d3, building charts is just about as easy as figuring out the required configuration for a Highcharts chart (even complex charts are generally only 30 lines of code). If you really don't care how it is done, there are solutions like nvd3.js that have created prepackaged charts. Based on the extremely limited customizations available and poor performance characteristics, along with the pricing model, I don't think I can agree that Highcharts is ever the best solution.
Key point here. Highcharts' customers are companies and website builders that don't have, get, or take the time to wrap their heads around D3, they just need to chuck a graph or two on their site(s), then move on to the next thing. It's not idealistic, but it's the reality.
I'm personally surprised there's not a lot more commercial JS libraries like Highcharts out there, seems to me there's a big market for those.
I'm in the not-enough-time-to-understand-d3 camp, but maybe that will change. In the meantime, I've found it easy to get something going fast with the highcharts tools.