The way I solved the beat freqency issue was to not use hardware PWM at all. For example with your 3 LEDs, insead of scanning through a loop 3 times, scan though 6 times. If the LED is supposed to be dim, only light it during its turn the 1-3 phase, if it's supposed to be bright light it in 1-3 and 4-6. That gives you off, medium, bright. And you can extend it. The implemenation details might be a bit tricky, but overall it's not hard to do it that way.