Ok here we go, this isnt all the frames but enough to give you an idea of what i did.

Frame 1 is me just holding the cigarette
Frame 2 is my arm lifted slightly, the way i did this in the arm movements was make a new layer, and then color white over the previous arm, so the arm was still there, but i could draw a new one.
frame 3 is the same, arms a little higher, but the direction of the hand and cigarette is different to make it seem as if it is in motion while it lifts. same white out process, but keeping them on seperate layers, youll see why.
frame 4 is the same as before, lifted and turned slightly.

Frames 5-8 were all the same except i started using brighter red colors on the ember of the cigarette, and added a couple more pixels of gray so it looks as though he is taking a drag.

See, here is why i did the seperate layer for each arm previously, all i did for frame 9-11 was use the arms in reverse order so the arm is lowering, however i made another mouth (on another layer) to make it look like he is holding his breath.
Frame 12 is back to the original position but the mouth is now blowing out smoke.

frames 13-16 i began to add smoke, i used less frames of animation for the smoke coming out than i did fading it because the thickest part of the cloud comes out when you first exhale.

frame 17 you see the smoke now starting to dissipate while still moving away
frames 18-20 the mouth is now closed, but the smoke is still there, fading out but moving away still.
Theres more frames of the smoke fading the rest of the way, and then i re used the first frame several times so there would be a pause between each drag.
So you see, it really isnt about the quality, as it is about the ammount of frames. I made only 3 frames for the arm moving, and 2 frames for the mouth moving, the rest was just putting them in the right order. using layers helps alot because i can have everything for the animation in one photoshop file, then put up which parts i want for a frame, copy the image merged, and make it into a jpg or bmp. the smoke i made by using a low opacity paintbrush with varying shades of grey to make it whispy, then using an eraser with paintbrush properties to erase it softly. Hope that helps.
For the monkey animation....

As you can see, I was much less thorough here, I just raised the arm and made two frames of a motion trail fading out, it makes it seem like the arm moves much faster.
Also keep in mind that the delay between each frame signifficantly alters its smoothness.