Something that isn't often considered for home use is DMX-512. I use DMX to control lights with the Nitrogen Logic automation controller. It has the lowest per-channel dimming cost of any system I've found (cheaper per light even than X10 and Insteon dimmers), but requires home run wiring.
Using my libdmx485[0], you can control a DMX network very easily using a highly affordable FTDI USB-to-RS-485 adapter, or (shameless plug time) you can buy a Nitrogen Logic controller if you don't want to write your own software.
Using my libdmx485[0], you can control a DMX network very easily using a highly affordable FTDI USB-to-RS-485 adapter, or (shameless plug time) you can buy a Nitrogen Logic controller if you don't want to write your own software.
[0] http://sourceforge.net/projects/dmx485/files/ (I need to move it to Github)