I just use warm water with a couple drops of liquid soap (hand or dish, whatever is within reach). Lather it up and rinse with warm-hot water and wipe dry with a soft towel. Not a single scratch or water-spot from cleaning in 5 years .
For quick clean-ups if it's not too dirty I use a soft rag and a spritz of Stoner Glass Cleaner.
Warm water w/liquid soap all the way!! I don't put soap on the inside though, I figure enough soapy water will run in there to have enough of a effect! I also try not to rub on the inside cause I like my visor fog-free! Also when I'm at gas stations after a long ride I go to the window cleaning stations, dip one of the towels in the glass cleaner and was my closed visor that way!! does wonders to get a massive hoard of bugs off!
plexus is the shizzle. Plexus and a microfiber cloth will keep the shield clean, streak free, and fog resistant for years and years.
When you get a scratch though, if you know what you're doing, Novus makes some acrylic products that can buff them out. Only good for the outside though, dont ever get the stuff on the inside and forget it on mirrored shields. If you dont quite have the technique down, then buying a new shield isnt a bad idea.
I have been using warm water and soap at home, but I recently discovered that I can also use lens cleaning wipes from ZEISS. Walmart sells those in a box for a reasonable price, and I throw a few in my tank bag. No streaks. Bugs will come right off with them, too.