Controlar 12 leds rgb con arduino Uno

Buenas noches, tengo un proyecto en el que con cuatro botones de colores (rojo, verde, azul y amarillo) y 12 leds rgb al pulsar un boton el primer led se tiene que poner del colo que se pulse( por ejemplo ROJO), al apretar el segundo boton (por ejemplo amarillo) el segundo led rgb se tiene que poner amarillo y asi sucesivamente con los 12. Los leds se tienen que quedar encendidos hasta formar una secuencia de colores.
Por los puertos pwm se podian controlar 2 leds en arduino uno, pero como haria para controlar el resto?

Disculpar por mi torpeza pero estoy empezando en este maravilloso y fascinante mundo de la electronica.

Muchas Gracias por anticipado.

Solo es una idea pero tienes tantas variantes que tal vez te guste.
Que tal usar una tira WS2812 que permite que cada led se ilumine con el color que tu quieras y solo usa un pin porque trabaja de forma serie. Se envia un serie de bits que determina que se prende y cómo y que no se prende.. Para cada LED hay un codigo de bits.
Entonces.. usas los 4 pines para los botones y solo 1 y no tiene que ser PWM para comandar tus 12 leds.

Hola si aún no los has comprado la idea de @Surbyte es magnifica, y no tienes que ir a una tira tmbien los venden sueltos. LINK , tienes librerias especializadas para ellos y puedes hacer verdaderas maravillas con ellos. No obstante si ya los tienes, o sean de alta potencia y los tengas que manejar mediante algun tipo de transistor puedes usar una PCA9686 que te permite manejar 16 con el bus I2C , (pines a4 y A5)
Saludos.

muchisisismas gracias lo que me decis tanto @Surbyte como tu @gonpezzi me ha solucionado el problema.. Que grandes sois.