Whenever you want to coat something, whatever you clean it with, you want to look for a "water break free" surface. That means when you run water over it, it flows in a continuous thin sheet over the surface. If the water film "breaks" and leaves dry areas, the surface is still contaminated and can be an issue for coating. We used to pre-treat and paint 2000 wash machines per day and that was something we always watched when the parts came out of the last rinse before coating, that the water ran off in an even sheet and did not "break" as it was an indication of oil or contamination on the steel.
Having 2000 wash machines in crates in the warehouse with the paint coming off in sheets is not fun. Take my word for it.
A product I tried recently is "Spray Power" from Crown. It is relatively inexpensive and worked real well for cleaning gunk from my bike, including aluminum areas. Its water soluble and even cleaned the wheels pretty well.
http://www.crownspraypower.com/Motorcycle_Cleaner_s/24.htm