While chroma-keying is a good technique for dealing with solids, it doesn't work so well when dealing with transparent or semi-transparent objects. Because the difference can be very subtle, you want to copy the difference instead or blend off luminance.
In Premiere, you can use the Set Matte effect to set a track as a luminance matte. In the case of the sample of smoke from mmphilips post, the luminance was a bit low so I put it in a separate sequence and used curves to boost the overall luminance. I then placed the matte on Video 3 and made it invisible. I then placed the Set Matte effect on Video 2, pointed it at Video 3 and specified that it should use Video 3 as the matte.

The same thing can be accomplished in After Effects in a similar manner. Again two copies are placed on the composition and the top most is made invisible. The modes option toggles is clicked to bring up the proper controls and luminance is chosen for the second layer so that the third layer is used as a matte. As shown, I applied curves to the third layer directly to make it blend more naturally. Note that in this screen shot I actually inverted the matte layer and thus used inverted luminance, but those steps aren't necessary, I just made an error while getting it working and didn't bother to correct it.

Note how this results in much smoother results than a luminance key or chroma key since a luma or chroma key makes a hard cut off and is not able to do alpha blending based on the intensity of the smoke. Smoke however is somewhat transparent and you want to be able to see through it where it is darker. That's why this blending technique works.