hassam, I have used the foam spray, here is the link: http://www.gunk.eu.com/html/products/729.html. You can not use this spray on painted surfaces. I use the foam because it is very easy to apply to specific surface. It works very well. If the engine is excessively dirty, you may have to do additional applications. It does not harm any engine electronics. I have used it in numerous vehicles. You do have to have access to a pressure washer to wash it off. To clean the painted surfaces, check out their website; I am sure they will have some product to address it. I just use my pressure washer with automotive detergent to clean the painted part of the engine bay.
You usually have to use these cleaning products once or twice to clean off the access oil and dirt deposits. After that, just use a pressure washer with automotive detergent to keep it clean.
I have never had trouble starting any of my vehicles after washing the engine. You know, engine bays are not sealed cavities. When you drive your vehicle in the rain, a lot of water gets in there and does not stall the engine; as long as you don’t teat your car like a boat.