The best book I've read about moving averages is "Rocket Science for Traders" by John Ehlers. In Chapter 4 he compares simple, exponential and weighted moving averages and using digital signal processing theory concludes that weighted moving averages "give the best filtering for a given amount of lag". He also gives code for plenty more finite/infinite impulse response filters.
If you want to pay for the best moving average around, I'd recommend the Jurik moving average. If you don't want to pay then I like the Hull moving average.
BT