Some will say success looks like a new sports car, a big house, or a tailored suit. To me, success looks like this:
So how'd I do it? I could tell you all the things I tried first, but what finally worked is all that's important. Lucky for me (sarcasm), I had two plugs broken and for the first I had to experiment to find the right technique, then the second was validation that the method worked. Here we go!
Get the porcelain out first. One came out with the shop vac, the other had to be chipped at with a pick first
Now all that's left are steel shells
To help the penetrant creep in more and maybe break up some of the corrosion, use a small punch and hammer to mushroom the exposed edge of spark plug shell inward. The scrape away crud around the shell, vacuum said crud, and liberally apply penetrant where you just opened a slight gap around the shell.
As you guessed, next step is to heat it up. Let the penetrant wick in and get the metal bits all expanded. Heating the surrounding head is not a bad thing. Once it's all nice and hot, quickly shut off torch, grab can of freeze off and spray just the metal shell -- this will cause it to contract and hopefully separate from the head.
Now's time to stick in the extractor of your choice. I didn't feel like driving to HFT, so I bought a very similar kit to what 410 posted at Walmart (was omw to my son's daycare) for ~$13. I've seen DIY extractors made from ground down bolts work just as well. So whatever extractor you have, tap it in and find a socket that fits the back. Start turning.
If you're cranking so much you start to see the torsion (aka twist) building up in your socket extension, I suggest stopping, backing the extractor out, and doing another round of penetrant, heat, freeze. Eventually, you'll get that bugger free I swear. Patience is key.
Once it's out, vacuum out the combustion chamber as well as possible
I'm also leaving my new plugs out overnight so the penetrant and freeze spray residue can evaporate more.
But that's it! This honestly isn't a terrible job, just a bit trickier that the average broken bolt.