I used to use Tomato, and I was satisfied with it, but the problem was that typical home router is weak hardware. Once I started hosting things, it just couldn't keep up.
I moved to fanless PCs (like ALIX / Netgate / Soekris) running OpenBSD. A 500 MHz x86 beats the pants off of the neglected MIPS chipsets most home routers are built around.
OpenBSD because pf is just easier to manage than iptables, and having all of the config as text files makes it easy to track changes with source control.