I know people say to run the gas systems dry, but I tend to run mine a little wet on SKS's, and SVT. The pistons tend to clean up nice with some G96, a toothbrush and a bit of elbow grease.
If its really caked on, just let the piston soak in something likes Hoppes #9 for a bit of time.
It is necessary to clean after each use if you run corrosive ammo. If you don't, you'll end up with nice surface rust on any parts that are in direct contact with the gases produced. If you let this rust sit long enough, you'll pit the metal and slowly eat away at the parts.