What to use to clean the inside of my engine?

I recently brought a Honda cb550. Prior to buying it I was told there was a head gasket oil leak. Since I have to strip the engine to change the gasket I thought I might as well give it a good clean. As I know the engine hasn't had the oil changed in a long time I know it needs a good old clean inside anyway. So I wanted to know what spray/fluid would I use inside to clean all the components and and walls of the engine? Is there anything I shouldn t use and is there something that works for cleaning all the components and engine parts?

There are several good cleaning solvents on the market that would work. Basically, you want a de-greaser that will dissolve all the petroleum residue and leave clean metal. If you're going to tear the engine down anyway, and want something less toxic to work with, then a big tub full of hot water and some Simple Green cleaner/degreaser will work. Just dry your CLEAN parts thoroughly and spray with a light coat of clean oil to keep rust away until you are ready to reassemble the engine.

If you want to clean the oustide/ under the hood you can use a can of engine degreaser and a brush and water hose. Instructions here:

If you want to clean the inside of the engine you can use a fuel additive like gumout that you add to the fuel tank. However a famous youtube mechanic has tested all these cleaning products and so far Seafoam Spray has worked the best as seen in this youtube video: