It would be helpful for us to know a little more about your setup. A couple thousand records usually don't require "forever" to summarize. Makes me think something else is going on. Pokey performance on summaries usually comes from one or more of these sources:
1) You're summarizing unstored calculation fields. That will slow the calculation engine down.
2) Your data table is very wide (lots of fields) and you're working across a slow network.
3) You have a LOT of summary fields on your layout.
4) You have a lot of calculations that depend on other calculations. For example, calculation A is based on calculation B, which is based on calculation C, which is based on calculation D, which is what you're summarizing. This is called a "dependency tree", and will slow you down.
Take a look at these factors and let us know if you have any of them in play.