For me, Bilgex is quite superb and worth the extra money (it's like Fairy Liquid...more expensive but better quality and washes more dishes). You get what you pay for.
Also, I use one of those rolls of 'stuff' in the bilge each year which absorb oils. Dunno what its called but they cost c£10 for a length of roll which just fits my bilge and it does keep the bilge water MUCH cleaner and less pongy.
Once you've eradicated the source, gallons of boiling water and a strong brew of bilgex, flash pine, dettol and car shampoo - give it a really good possing then get a wet and dry vacuum and dry it all out - if possible get any hatches open so that fresh air can get in there. It may take a few goes and you may have to wash any cushions or soft fabrics on board as the stink may have pervaded them.