Aside from the inherent limitations of the MP3 format, the encoded version
should sound very similar to what you heard during playback from within SONAR. The mix should not radically change, nor should the spectral content. It is unlikely that the problem with with the MP3 encoder or its settings.
More likely, you are either making a routing error or are creating a mix that doesn't encode well.
First step is to check your routing. Keep it simple at first: route every track to a single master bus, and verify that everything's going to that bus by muting it - everything should go silent. The master bus, and nothing else, should be routed to your hardware interface. Once you've got that all set up correctly, you now at least know that what's going out to the encoder is exactly the same data that's going to your audio interface. The resulting MP3 should sound very close to the same as when you're just playing back the song from SONAR.
It's also possible to create a mix that confuses the encoder and results in more artifacts than normal. This can even change your mix balance and ambiance/reverb perception.
The number one safeguard against this is to limit the audio's maximum and average levels. To see if this is part of your problem, lower everything until the meters on the master bus don't exceed -3 dB. That's a little quieter than most people master, but it's low enough to assure the MP3 encoder probably won't screw it up. Second, check your spectral distribution with a graphical spectrum analyzer (there are lots of free ones, my favorite is Voxengo SPAN) and make sure you don't have excessive bass or high-treble frequencies. Excessive bass (easy to end up with if your speakers are bass-light) can adversely affect limiters and suck the life out of a mix. Excessive high frequencies can cause ringing in the MP3.