I've used Eucryl powder (very cheap from Wilkinsons) with an electric toothbrush before and it's good for stains as recommended by a friend of mine who was a dental nurse.
I'd then brush normally with part stain remover toothpaste and part proper breath freshening toothpaste (always find the whitening ones don't seem to freshen your mouth so much).
I keep those little brushaways handy in my bag so I can brush them if needs be after a meal.
If you want to avoid stains then maybe best to do it after coffee, tea, red wine etc... as well.
There was a Colgate promotion on the other week here and in popping over to claim a free toothbrush they showed me how to clean my teeth in the best way which was really interesting.
Not that I didn't clean my teeth well before but they suggest doing little circles half over your teech and half over your gums on each outer bit top and bottom then brushing well over the molars at the back top and bottom then using upstrokes only to brush behind all your teech.