When controlling many LEDs from an Arduino or other platform, it's a fair choice to use the 74HC595 shift register IC - and many of us do. However although you can use eight LEDs with a typical 20 mA current draw with that part, it isn't rated for such a high current draw and can cause problems over time.
An interesting alternative is a true LED driver IC such as the Texas Instruments TLC5916 - it can act as a shift register, and also control the brightness of connected LEDs witih PWM, while being rated for a higher current load. Using the TLC5916 has been demonstrated by Elco Jacobs with the ShiftPWM Arduino library - and the combination of the two make using multiple or RGB LEDs with an Arduino quite easy.
Elco has provided schematics, sketches and other notes about the process, so visit his interesting website to get started. And for more, we're on twitter and Google+, so follow us for news and product updates as well.
If you're looking to make more creative designs with LEDs, consider the Freetronics RGBLED: full colour module. It includes a bright RGB LED on the top of the board and a WS2801 constant-current, addressable, multi-channel LED driver on the back. This smart module can be daisy-chained, so you can connect a number of these together in a string and drive each of the module colours individually from your microcontroller. For more information and to order, visit the product page.