I would like to use a 30W RGB LED that is in common-anode configuration. The issue is the voltage ranges for the LEDs are different, 20-24V for red, and 30-36V for green and blue. Is it possible to run the red led at the same time as the blue or green? If using PWM w/mosfets you still get the full 34V across the red LED I'm assuming that's not going to work.
One way is to use a single 36 V power supply, then essentially a small switching power supply for each LED to regulate the current thru each LED separately, but driven from PWM.
Here is what the circuit for each LED would be:
When the switch is closed, current builds up linearly thru L1 and therefore thru the LED. When the switch is opened, the current continues thru the LED, L1, but now thru D2. The current will now ramp down linearly.
With fast enough PWM there is little difference between the maximum current at the end of the switch closed time, and the minimum current at the end of the switch open time. The PWM duty cycle then controls the average current thru the LED with minor ripple at the PWM frequency.
You probably want to use a PWM frequency of a MHz or more. For extra filtering, add a ceramic capacitor from the LED cathode to ground.
All LEDs can be driven from the same voltage source. Each LED should be driven by a separate constant current source LED Driver.
You did not specify the LED part number or the current which makes it difficult to help.
There are very few RGB LED driver chips with 36V out. You could take a triple output RGB LED driver and add 3 MOSFETs LIKE THIS.
This is a simple inexpensive ($15 off the shelf) triple output LED driver from SparkFun (1 channel shown).