There are a few sat nav's that will allow you to put in multiple stops, like IGO or IGO Primo, but I havent seen one that will work out the best route.
You could use autoroute on your PC as that does what you want, then enter the addresses into a sat nav in the order autorute sorts them.
If you have a log into my FTP i have both autoroute and various of sat nav software, bit IGO or IGO primo is one of the best, I think better than Tom Tom and it will use ether Teleatlas maps (same as tom tom) or Navteq maps.