Definitely a combination of tutorials and familiarizing myself with different programs over the years. Plenty of trial & error.
There are tons of in-depth tutorials done by awesome people right here on Tumblr: http://www.tumblr.com/tagged/gif-tutorial
Good luck on your gif-making journey and do let me know if I can help in any way (:
our relationship is like this