What voltage is coming out of the digital pins reliable?
You don't run LEDs from a constant-voltage source... You run them from a constant-current source.
(Or, from an approximately
-constant current source, such as a known-voltage across a resistor.)
If you try to run from a voltage-source, a very small change in voltage will make a large change in current (and a large change in brightness). A small increase in voltage could even result in a big-enough current jump to fry the part. The actual voltage drop (at a given current) will vary from part-to-part, and with temperature.
And, the different colors in an RGB LED will have different voltage drops (at the same current).
I think you are going to need more than 3.3V (and a transistor or MOSFET), especially for the blue... You need enough "extra" voltage, so that you can have a (relatively) constant voltage drop across the resistor (which is the "remaining" voltage after you subtract the LED voltage-drop).