I bought some Astonish engine cleaner from my local Range (cheap shop) the other day for a pound and gave it a go
I was "Astonished"!
It does say don't use on painted surfaces but after it brought the engine up I used it on the back wheel and it was squeaky clean, literally, when I finished.
I would use sparingly and not leave it on too long but yeah, it did the trick