Corrosion can be removed by using engine degreaser or a spray carburetor cleaner, followed by a low pressure power wash, usually accessible at self-service car washes.
That will really depend on what type of metal it is. Engines components can be made from a variety of metals. Look at you local autoparts store to find metal specific cleaners.
to clean up the engine in general use a pressure washer that will remhe grease and grime, if the engine is "corroded" you might have to use a wire wheel or hand brush it clean