A lot depends on the results you desire and the effort you want to expend. A broad brush soaking of the engine results, IMO, lackluster results.
Two basic kinds of dirt are on an engine. Dust and regular organic dirt can be removed with a light detergent, a quality APC (all purpose cleaner) is what you want. And get a round ended cleaning brush to agitate with. This is a must.
The other dirt is petroleum based. Some APC's can handle this, too. But better results are often achieved with solvent based cleaners. my favorites here are spray engine cleaning products which can be shot into nooks and crannies and textures that you cannot reach or agitate easily. Medical Swabs, like q-tips on steroids, are the thing to use. They are super cheap to buy and make all the difference.
Keep in mind that the best results are obtained by handling one component or section at a time...doing it well...and moving on. Fast, splish splash overall methods look amateur to me. And the results don't last. Finally, a protectant will add protection and sheen to everything without looking cheap and tacky.
As far as products to use, there are many ways to skin a cat and I won't push my preferred products on you at this time. My main goal is to get you to consider the process.
I would suggest going to a detail forum and one quick search will give you lots of answers and suggestions. I like Autopia
http://www.autopia.org/forum/search.php?searchid=2244613
A few of my personal engines:
2005 Audi. Newer engines are so easy.
1996 Porsche is hard to get to!
This is a nearly 40 year old BMW motor:
This '97 4Runner engine was black when I started:
This Jag engine is 54 years old: