===What is the best way to free it? ===
I have no idea of the best way, but here is what I do. to cover the full spectrum (and answer more than your question) i.m.o. here's the list from best case to worst. I'll assume the piston is past the spark plug hole and you have to pull the carb (or pour though it, though i don't recommend that).
1. dump ~1oz 2-stroke oil through the carb port and let it sit for a while.
2. dump ~1oz MMO through the carb port and let it sit for a while (Marvel's Mystery Oil)
3. hose in some PB Blaster (not a huge puddle. just enough to make sure plenty works its way through the rings) through the carb port and let it sit for a while.
4. for the 'tighter than ####'s hatband' scenario, I put a good squirt of diesel (just enough to pool a bit on the walls). I don't think this actually breaks the piston loose, but rather opens up the path for the other stuff.
If really stuck, or overly concerned: I work from 4 to 1, dumping out the excess from the previous step as I go. I usually wait overnight in between steps to let the solvents and lubricants soak. I don't use too much of anything (except the 2 stroke oil) because I don't like the idea of gobs of foreign solvents working past the rings into the body of the saw.
4 (modified) another thing i sometimes do is pour a couple ounces of diesel in the chamber, put my thumb or something over the hole, shake for about 30 seconds, and dump it out. If there is lots of gunk that comes out I'll repeat. there is plenty of residual to work into the rings so I don't put any more in after the final dump. I just set the saw so the piston face is close to level. continue to 3 to 2 to 1, as before.