I like the ATC simulator from Xavius, http://www.xavius.com/. Non-talking version is free, talking is something like $12. There are six sectors. Two Chicago HI (mostly enroute traffic and descents into the ORD area, not difficult to work), two LA (one mid working something like 10,000 to FL230 and one working low altitude....getting busy now keeping arrivals sequenced 10 nm in trail); and finally 2 NY something like SFC-FL230 (very busy now with JFK departures streaming onto the screen, NY area jet and prop arrivals mixing with Oceanic heavies that need to be 7 NM trail, and don't forget the C182 at 7,000 cutting right through the arrival corridor and the BE55 cruising at 14,000 with a 30kt headwind).
You can train on each sector as long as you'd like, then you have to certify to "work" the sector. Comes with a 25 page .pdf manual with sector maps, arrival / departure / overflight procedures, hints and strategies, computer commands and so on. When certified and "working" a sector, once you start getting busy, your "DSIDE" partner will join with you on the screen and take care of time consuming tasks such as hand offs and altitude changes on the data blocks.
A friend of mine who is a retired controller said the only thing that would make this better was a voice command set-up rather than typing out the instructions. Otherwise very realistic for a computer game.
I second 2000flyer. ATCC by xavius is by far the best. I agree that voice command would make it better, but hey, its $12! Supposed to have voice command support in next version.
There are quite a few user created sectors out there. Probably up to 20 +.
You get used to typing the commands; there are keyboard shortcuts so it goes fast and not too complex. HArdest part is memorizing what sectors the handoffs goto and their freqs. But just sit there with the map in front of you. It's random generation too, the other sim mentioned utilizes a "track" - basically replays a 45 min wave of traffic, then restarts.