KBS AquaKlean will work to clean your engine. Mix a 1-1 solution with warm water, spray the engine down, and allow it to soak for up to 30 minutes. Use a brush to scrub any "hard" areas. Rinse completely with water. If you engine is really greasy and dirty, you may need to repeat.
As for solvent based cleaners, solvent does not always make a cleaner any better than a water-based cleaner. Also, water-based cleaners are much friendly for the environment.