I use a Cisco 2851 router, with the max amount of RAM and Flash installed, as well as a few WICs for different types of connections I've just accumulated over the years. (unused DSL, DOCCIS, and I use the AT&T 3G cellular, and ABG-802.11 WiFi)
I also installed a NME-XD-48ES-2S-P 48-Port Etherswitch in the router, that has dual Gigabit SFP ports that wire to the switch. However, the most important is a AT&T 3G Cellular HWIC for a failover in case my Cable Connection goes down.
I also HIGHLY suggest using a NM-AS16 or NM-32 Async serial card in your router, to provide "out of band" access should your other links go down. (which you then wire to the console ports of your switch, AP, DNS servers, Hub, etc. EVERYTHING. So, if you can VPN into your router, you can talk to everything else as well IF your TCP/IP links go down)
The 2851 router came with an AIM-SSL/VPN accelerator card installed, which gives you a license to setup unlimited VPN connections, unlike the ISR G2's where you pay for the licenses in 10, 25, or 100 seats)
The cable connection coming out of the Cisco modem goes to an old Cisco 424 Fasthub, that provides 100BT to the router and DNS servers via a Hub (key point here: with a Hub, you can plug in your laptop and sniff ALL traffic if need be. Switches don't allow this, Hubs do)
Additonally, call it overkill? But, I also use a Cisco 4948-10GE 50x port switch for the inside computers, with the 10gig connections wired into my home NASes,
Then I use two Cisco 7825-H3 servers, which are only HP DL320-G5 servers as DNS servers.
(again, max out the RAM, as Linux/DNS likes lots of it, more then high end processors)
These have dual gigabit ports: the outside ports goto the Hub, and the inside ports goto the switch, and serve the inside network. It's important to setup the firewalls services on these Linux servers
Lastly, the router has a 802.11ABG HWIC, that serves as a wireless (failover) backbone to the Cisco 1252ABGN WiFi Access Point.
My point to this hardware list: always, ALWAYS think about backup links. WHY ELSE would you bother to wire up your home cable/DSL connections with enterprise Cisco equipment if it's not mission critical, and you can't afford to have a link go down. So, just like enterprise installations, plan ahead with these "out-of-band" back-up links like the serial connections so IF things go down, you can get in remotely and hopefully bring it back up