Flitz (which is a cream-like substance is real good) - or an electronic cleaning spray on a rag works good.
Using a track cleaning "eraser" over time or heaven forbid - sandpaper, causes scratches to the railhead which eventually gathers dirt.
Running your trains more often is a good way to...