The enemy of the Balance druid. Aggro. Granted, in moonkin you can handle it a little better than squishy clothies - but face it, once you start raiding, anything other than trash mobs will likely two-shot you if you're doing anything resembling good DPS. And even some of those trash mobs will destroy you (Phantom Valet in Karazhan, anyone?)
Hopefully this is at least basically understood by everyone, but I'll go through the more specific details. Maybe you'll pick up something helpful.
The math of aggro is fairly simple. Whoever has the highest threat to the mob is the one the mob will attack (to an extent, see below). That is the person who has aggro.
Threat comes from a few different places. Damage is the most obvious - each point of damage you do to a mob will generate 1 threat on that mob. Healing generates .5 threat per point of actual healing done to ALL mobs in the fight. Special abilities generate a variable amount of threat. And of course, tankish classes tend to have things that increase their threat, while stabby/boomy/healy classes tend to have options that reduce it.
Now, once someone has gained the initial aggro - i.e., the pull has been made - the tank should be getting beat on. What you have to realize is that to pull aggro at range, you need to go 30% threat OVER the person who currently holds it. For the record, melee needs to go 10% over to pull aggro.
So, we know all the mathematical ways to reduce threat - Subtlety, the newly available subtlety to cloak enchant, and to do less damage. What I want to look at here is behavior.
Let's take a simple situation. The tank pulls a single mob. Let's say he generates about 2k threat in the first couple seconds. Meanwhile you're charging your starfire, and you drop a 4k-5k crit on the guy. Congratulations, you lose.
The basic thing to realize is that for tanks, threat generation is back-loaded. They need rage to do their thing. In order to get rage, they either need to hit the mob or get hit by the mob. So they start slowly, building up rage, then as they start doing more damage and taking some more hits, their threat generation takes off. You, on the other hand, are front-loaded. You start off with your full reserves and full potential to cause damage, until you go OOM and are then pretty much dead weight. So, what you need to do is build up slowly, and then go all out.
Here's one important thing to realize - as the fight progresses, you can take more and more advantage of that 30% buffer. Take the following examples with completely made up numbers:
20 seconds into the fight:
Tank threat - 15k
Your threat - 14k
Your threat = 93%
2 minutes into the fight:
Tank threat - 100k
Your threat - 93k
Your threat = 93%
For the sake of argument, let's say your damage is about the following:
Wrath - 1200/2400 Crit
Starfire - 2300/4600 Crit
Now, in both of these examples, you are at 93% threat. You probably have at least insect swarm going generating a constant moderate feed of threat. Do you push out the damage or do you hold back a little?
In example 1, you should hold back a little. Why? This early in the fight, a lucky crit or two will add enough threat to push you through that 30% buffer. In example 2, you can go balls-to-the-wall DPS for a bit. The tank is already at 100k, and you would need to generate 37k threat to overtake him, even if he stopped doing anything and just stood there. When it's later into the fight like this, push the envelope. Try to ride around 110%-120% threat if you can manage it without being inefficient and going OOM.
Generally, the start of a fight is a good time to do a couple things. First off, once the tank has aggro, and as long as he did not body pull, it's probably safe to toss faerie fire on the mob as it's running over to the tank. This will lower the mob's armor, which will help the tank's hits do more damage. That means a bit more threat generated early, and every little bit helps. Even better if you have improved faerie fire.
Once the tank has been beating on the mob for a couple seconds - a good rule of thumb is when you see a sunder/lacerate on the mob if the tank is a warrior/druid - toss up your insect swarm. The miss chance will help mitigate early damage a bit, which means slightly less healing. This helps your healers not pull aggro. If that is an issue, you may want to toss a lifebloom or two on the tank - this spreads the healing aggro around so no one healer passes the tank, plus if you let the spell bloom, all that healing aggro gets put on the tank.
Honestly, after I've put up faerie fire and insect swarm, I tend to wait a good two or three seconds before starting my starfire rotation. Your mileage may vary depending on your tank and the exact situation - sometimes I can jump right in, sometimes I have to wait longer. Keep in mind that if the tank has multiple mobs to handle, he won't be generating threat on a single one as fast, since he's probably going to have to toss a couple hits on the other mobs to keep them from going after the healers.
Oh, and one more thing - trees. If there's no place in a fight that you need to save your cooldowns for, toss your trees up ASAP. They hold their own threat list, so if worst comes to worst, they'll just pull aggro and get smacked. Chances are, they'll get to do their thing, and that's another good hunk of damage thrown in at the beginning without having to worry about it adding to your threat.
If you find yourself having issues with aggro, talk with your tank. See if there's something you're doing that is specifically making it hard for him to hold aggro. See if there's something he might be able to do to hold it better. People talk about the tank/healer dynamic all the time. The tank/DPS dynamic should be just as important, especially in fights that come down to a DPS race. And believe me, if you're asking your tank how to make sure he keeps aggro, he's going to love you. The fact that you're asking alone is going to put you above 90% of the DPS out there.