I use Lame for encoding my recordings into mp3 format.
I have experimented with many of the options and I have found that the following 3 combinations of command line switches produce excellent results:
Small size, lossy:
lame --alt-preset standard in.wav out.mp3
Good compromise between size and quality (VBR):
lame --alt-preset extreme in.wav out.mp3
Large size, best quality (320k CBR):
lame --alt-preset insane in.wav out.mp3