PWM is fine. Just needs to be fast enough.
If it's 8bit PWM at lowest output (1/256 on-rate) you need about 3(m) x 3.14(pi) / 0.1(s) / 0.001(m) x 256 so you don't see gaps between dots, 24mhz PWM. That does seem high...
Some of the really good LED dimming solutions I've seen that employ PWM are in the 30+ kHz range.
Of course, constant current dimming is the best, but it tends to be expensive.
It might be more of a problem in automotive applications, where for a headlight you use only a few high-power LEDs.