Use one of each! A pnp and an npn.
The npn and pnp transistors need current to flow to turn them on.
That means that for an npn we need 0.7V plus the common cathode LED forward voltage (3.2V worse case), so we need to drive the base with 3.2V + 0.7V = 3.9V to get the current to flow into the base and turn the transistor on. That's too high for the Netduino outputs to reach.
For a pnp, we just need to provide a voltage 0.7V below the emitter, so with a 12V supply that easy for a Netduino output, unfortunately its too easy. The 3.3V high voltage level for the Netduino is also going to give a path for the current to flow out of the base to ground, so we can't shut off the transistor.
Solution 1, is to use the tri-state output mode of the Netduino. When the GPIO pin is set to tristate, no current can flow in or out of the pin, so this could be used with a pnp transistor. When the transistor needs to be on, set the output low, when it needs to be off, set it to tri-state.
There are two reasons this is not going to be useful to you:
1 - I don't think you can set a PWM to operate in tri-state mode.
2 - With the 12V supply, when the pin is set to tri-state, the voltage at the GPIO will be pulled up to near 12V via the transistor's base. The Netduino will not like this.
Solution 2, is to use an npn transistor to turn on a pnp transistor.
Here the npn transistor is wired up normally. The collector goes to the base of a pnp transistor via a resistor. Now when the npn is turned on, current will flow from the pnp's base to ground turning on the pnp. When the npn is off, no current can flow, so the pnp will be off.
Paul