You could have a look at MCTemporalDenoise or MCSpuds
Both use motion compensation to try and remove just noise or grain but are incredibly slow as they use a lot of external filters and functions to achieve the results but if quality is what you want give them a try
They also both use Removegrain and FFT3DFilter which a lot of people recognise as being pretty good at what they achieve along with various despot and other noise/grain filters
http://forum.doom9.org/showthread.php?t=139766
http://forum.doom9.org/showthread.php?t=131279