PBW/Oxy at 170F. Fill the keg. Leave it upright. Breakdown the keg by removing the gas and liquid posts (you'll be amazed at the grime you find underneath) scrub em clean and soak em in a smaller bucket/bowl. Remove the gas and liquid diptubes. Use a 1/4" diptube brush to scrub the inside of the dip tubes. Put the gas diptube in the smaller bowl with the smaller items. Put the liquid inside the filled keg. Replace ALL seals. Do this all again if you odor. There are few odors in the world that can survive 2 or 3 goes of this. Sanitize and leave the sanitizer in there for several days, make sure the sanitizer gets inside the liquid out diptube too.
-
I own 15 kegs and I have managed to clean every one of them to virtually odor free this way. I do have one that still smells faintly of sprite from time to time, but I've never ever tasted or smelled it in my beer, and if you're super paranoid, just use it for IPAs with fruity PNW hops and no one will ever be the wiser..yourself included.
PS, 170F is HOT...wear gloves when handling the keg and avoid touching the sides!