I'd suggest firstly getting a meter that can show both peak and RMS levels. The track and bus meters in Sonar can be set to do this, but it's a bit involved and they aren't very big. Voxengo SPAN is a well-regarded free meter that's as good as most at any price.
That way you can see what your mix "looks like". Load a few commercial tracks into Sonar as well as your stereo mixdown and, using track solos, have a look at what the meter shows them doing and how they compare. Mixes generally have most energy in the lower frequency regions then trail off in at the high end, but if the bass end of your mix is louder than a few commercial mixes in the same genre that might tell you something.
Secondly, what you've come across is so common it has a name. "Lack of translation". Which means a mix sounds fine on one system, the one it was created on, but seriously wrong on another. It plagues us all at times. No mix is going to sound the same as in your monitors when played on different reproduction systems or in different rooms and most definitely not in a car. The trick, which isn't always an easy one and is possibly the hardest thing to learn in audio engineering, is to try and produce a mix that sounds at least as acceptable as good mixes on whatever it's played through, given the limitations of the playback system.
Monitor quality alone isn't the key thing. Though good monitors certainly help, thousands of good, comercial mixes have been made using what were once probably the most common nearfield monitor and it was anything but flat response and full range. The long out of production Yamaha NS10. They had dreadful frequency response and were nothing very impressive to hear either. But for many people they worked, because the result of being very familiar with how good mixes sounded through them meant it was possible to produce mixes using them that translated to other systems in an acceptable way. And it has to be said that they were very good at exposing any excess mid or harshness.
The same principle applies to rooms. If you know the space well enough surprisingly good results can be had in an acoustically poor room. But good monitoring and no big problems with the room acoustics don't half make things easier.
In other words, you really need to know intimately what good, commercial quality mixes sound like through your monitors and how the sound of the tracks changes when played, for example, in your car. Then, if necessary, try to adjust your mix to do the same sort of thing but also still sounding good in the monitors and in other systems as well.
Cars are a dreadful environment for listening to music, and are probably the hardest test there is. Countless commercial recordings, many million sellers, are destroyed by in-car systems and that's before you turn the engine on and start moving. And when you start driving the road and wind noise make things even worse.
Finally, as has been suggested, look up Fletcher-Munson and how we perceive volume and frequency. If you're monitoring at too low a volume then your mixes will tend to have too much bass (and maybe too much treble as well) when played back at a louder volume. Getting a cheap decibel meter and using it to check your monitor volume can be very useful. Around 79-85dBA at your listening point (use white noise as the test audio) is a reasonable range to aim for.