Ya ya. I have been full circle - citrus degreasers, Simple Green, and then foam engine degreaser.
The best is the foam engine degreaser.
HOWEVER, I found the most economical solution was to fill up an old spray bottle with kerosene. This works EXCELLENT and is cheap enough that you don't have to think about it. Just keep squirting until the parts are clean.
PS; don't waste your money buying degreasers at a bike shop. That's crazy. Go down the street and get stuff like that at a hardware store. Use the money you save to buy a latte at Starbucks.