This week I was in Iowa for both a Central Iowa Java Users's Group meeting and Agile Iowa meeting. (The trip was sponsored by the Central Iowa Software Symposium... coming in August!) One of the attendees commented on how they had to move away from CruiseControl because it was single threaded and they needed a more scalable solution.
First, let me say that there are tons of great Continuous Integration tools available (see this chart for a list). I'm more concerned with whether or not you run ~any~ continuous integration software that whether or not you run my favorite CI package.
But I hate to see anyone switch away from CruiseControl because they aren't aware of the feature set. CC has threaded builds and distributed builds. Both features are turned off by default to make your initial set up as easy and painless as possible, but the features are there.
To learn how to turn on threading in CruiseControl, read this configuration document. Just add the system/configuration/threads elements to your config.xml and the functionality will be enabled.
Directions on how to run CruiseControl builds distributed across machines can be found on this page. I think this page is up to date, but visit the CruiseControl user's list for the absolute latest information.