(Warning, I am a programmer, not an artist. Results may vary)
In order to get smoother animation, regardless of method you use to put them on screen, you generally want more frames. A good piece of advice I was shown a while ago is to subdivide your animations.
Making every frame perfect from start to finish is hard, no matter what program or system you use. Instead focus at first on making the gross movement look decent. One, maybe two frames on each discrete part of the motion.
Once you've got your basic animation complete, now comes making it smooth. Go between each of your frames you've created and add another frame between those two of the state between them. Once you are done, go watch it again. Still not smooth enough? Go through and add more frames between the other frames.
You may find yourself deleting some frames that are no longer necessary in this process or adding some to one location and not another, just remember to keep checking the animation to see how it looks. Also remember that if you add frames to one part but not another, even if you keep the entire animation the same length of time you will skew how much time the individual parts of the animation take. This can be useful if one part of the animation is going too quick or too slow.
Once you are happy with your animation, compile it into your method of choice for animation drawing (Sprite Sheets are easy and almost always a good choice for 2D games) and voila! You've got your smooth animation!
(Note: if your smooth animation concerns for motion are in regards to a relatively static sprite being moved across the screen, take the same concept and apply it there. Less distance traveled per frame looks smoother than the alternative)