It does take a lot of practice, but I find the best technique is to take a half-lungful of smoke, drop the jaw while keeping a fairly small opening with your lips, and then, while exhaling slowly (experiment with this), push your tongue forwards and up, pushing the tip against the inside of your lower lip and kinda arching the back of it to push the smoke out of your mouth.
Obviously the smoke has to be fairly thick.. Some people find it easier if they just take the smoke into their mouths, but if you can get the speed of your exhale just right, you'll be able to blow lots of smoke-rings on one drag