Using BB's works well if you have a removable tank like the KREIDLER. But with a Puch and many other mopeds using BB's is not practical unless you strip the bike down. That way you can really get a good shaking action. But for most mopodes i have used a 4 guage cable and a drill. First strip back about an inch on one end of the 4 guage cable. Tie a few bolts to some of the wire. Then take a screw and cut off the head. Put the headless screw in the chuck of your drill and screw in into the other side of the wire. Now you have a flexible cleaning device. Take of the petcock valve and plug the hole up with something. Now fill the tank with hot water and dish soap. Using your drill and your felxible wire with bolts attached to the end stick in inside the tank and spin it using the drill.
Drain the tank and repeat the process. I usually clean tanks in about an hour this way.