What are effective strategies for passing cards in Hearts?
As with most strategy games, I don't think there's an optimal way to answer this.  I tend to focus on what cards I want to keep.  I'll address a non-Shoot-The-Moon hand because that's the majority of hands I play.


I like the Ace of Clubs.  Having the early lead puts you in control.
I prefer to void Clubs or Diamonds as soon as possible.
I won't ever pass 2 through Jack of Spades to void the suit.  That leaves you open to get passed a single high spade that might stick you with the Queen.
I'll hold the Queen of Spades if it's protected by several other spades and I can easily void another suit.  Otherwise, I say pass it so you reduce the risk of being stuck with it.  Again, it's about being in control.
I like holding A-2 of Diamonds.  I'll pass middle Diamonds to set that up.  You can usually win an early trick (before Hearts are broken) with the Ace, then lead the 2 (or similar low card) to void the suit.
I don't mind holding a high Heart or two.  At worst it's 4-8 points, and you have a play to stop a Shoot-the-Moon by someone else.


I've never really considered where I'm passing cards.  I probably should, but I'm not serious enough of a player to learn why it might matter.  My main goal is flexibility.  Unless I'm holding 2-5 of each suit, I'd rather not have to play follow-the-leader.