When using the castsequence, you can also put a reset value into the command.
This is a macro that I first used for my Hunter when looking for new pets.
On the first click, it casts Beast Lore, and then the button switches to Tame Beast. If I don't click it the button again, it will automatically reset to Beast Lore after 10 seconds.
/castsequence reset=10 Beast Lore, Tame Beast
I also use this in BG's to swap between Track Humanoids and Hidden.
/castsequence Track Hidden, Track Humanoids
Zaknafin - Level 73 Death Knight (Tank)
HuntersBlade - Level 70 Prot Warrior
ValasHune - Level 70 BM Hunter
Årtemis - Level 19 Rouge