Hi, unfortunately I don't think there is an easy way as the oxide that builds up seems to attract crud like a magnet! I had been advised off of using some of the more powerful solvents as they can cause long-term problems. So, all I did was scrub the block with stiff brushes (wire and bristle) while applying 'gunk'. Then washing down (lots of cheap detergent) and repeating until the alloy looked as clean as it could be. Then using wire wool, emery cloth, small wire brushes (lots of them!) and other abrasive material I removed as much oxide as possible.
Believe me, it certainly took a while, but the results are worth it.
I then took the process a stage further (omit this if you are an alloy purist!) - I sprayed the block with a hi-temp engine enamel. This gave a good finish that looks like it will certainly last a good few years, and is easy to clean off and maintain whenever necessary.
Here are before and after shots:
Attachment:
Dirty engine 1.jpg
Attachment:
clean engine 1.jpg
Yes, it is the same engine

.
Hope that helps..

Perhaps someone else has done it a different way and used other products - could be interesting...