I use a broken ring from the engine I'm disassembling. When available, I use the dip type carburetor cleaner to soak the pistons that are really carboned up. It will soften and remove most any carbon to varnish with a scrub brush and soapy water as a final cleanup.
BE SURE TO USE EYE PROTECTION, GOOD GLOVES AND EXTREME CARE when using dip type caustic carb cleaner. It's great on aluminum and ferrous metals, but it will remove many layers of skin, (down to the bone) if it makes contact and it'll do it really fast.