I'm using the following macro for druid shapeshifting between different travel forms. I don't have flight on my druids yet but it should be pretty easy to throw it in, probably just adding a third conditional like [nostance;6, noflyable, noswimming]Flight Form. Figured I would put this here in case anyone wants a simple macro for handling forms instead of mounts.

Code:
#showtooltip
/cast [swimming, nostance:2] Aquatic Form; [noswimming, nostance:4]Travel Form
This lets me spam the form-change button without worrying I'll shift out of a form on accident if I hit it twice, or that my characters will get out of sync.