Having tried many, I settled upon
Balabolka.
It is free, regularly updated (though I must confess that I am not quite sure what changes each time!), there is a portable version, will follow along in the text, and export mp3s.
Note that the quality of output has a great deal to do with the voice pack you are using, Microsoft Sam will always sound rough, where the AT&T Natural Voices are probably the best quality, but are expensive and take a lot of space.