CrossRoads:
Can use TLC5940 also, just need to wire it differently.
Has 16 outputs will need a bunch of them.
Connections to the Arduino's SPI, etc. not shown.
Cool I have a bunch of TLC5940's, however the part count gets pretty big with this set up. I suppose I can actually change 10 of the LED's as only 10 are built into our switches, the rest being external.
If you want to go with 595's, I wrote a library for that recently. 256 brightness levels is no problem for 20 leds.
You can check it out at www.elcojacobs.com/shiftpwm