Just wanted to share my macro for ranged spells:
/cleartarget [dead] [noharm]
/target [noexists, @mouseover, harm, nodead]
/targetenemy [noexists]
/petattack
/use YouChosenSpell
I bind it to mouse wheel and spam it
Basically it targets mouse over or targets an enemy then sends your pet to attack (if you have one) and cast the spell.
My cc macro is like this:
/cleartarget [dead] [noharm]
/target [@mouseover, harm, nodead]
/targetenemy [noexists]
/use YourCcSpell
/targetlasttarget [mod]
Same as before except if you press a modifier key it will target mouse over, cast, and return to last target.