I use...
If it's been while since cleaning, then I find I need to 'hydrate' the dirt/oils in order to get rid of them.
Water doesn't interact with the oils well, so I use something with a detergent in it. Windex works well. No matter what I use, I don't let it stay on the screen long.
Otherwise, I just use the cloth that came with my MPB, or that came with my prescription eye-glasses. (The solution that I use on my eyeglasses also seems to make quick work of oils.)
I don't use paper towels, since they are (in essence) made from wood and scratch plastics. This is a subtle kind of scratching that builds-up over time.
Often I wet one of these:
http://www.radtech.us/Products/NotebookScreensavrz.aspx (a Screensavrz) and use that to apply the wet stuff, then I follow that with another screensavrz which is dry.
I do keep a screensavrz on the keyboard, and I try to use it everytime I open and close the MBP.
I don't know how it happened, but I seem to have ever more of those things lying around. Hmm.
Also: I clean the keys and trackpad the same way.