For minor changes to CSS files, I tend to use TextMate, but for major re-working of a stylesheet, I use CSSEdit. It was always a good bit of software, but with the recent update to version 2.0, it has become really superb. One of the best new features is the ability to extract the stylesheet from even a dynamically-generated site (like this one), and save a local copy. You can then make changes to your heart's content and preview the changes on your live site, without fiddling about making static local HTML files, and without messing up the actual site for visitors. When you're happy with the result, you can just copy your local file to the server.
There's also a nice versioning feature, whereby you can save 'Milestones' and revert to them if you mess things up royally (which I do frequently), allowing you to experiment without worrying about putting things back the way they were.
CSSEdit has a gorgeous interface, and you can work either in source view, or with a series of palettes from which you can choose settings, pick colours and so on, or -- if you want it all -- you can have both visible at the same time. It's the best of both worlds, really. In most cases, I find it quicker to work in source view, but there are some things that I never remember (like the correct format for font-variant), so for those (and picking colours), it's easier to use the palettes. Any changes you make in the source are immediately reflected in the palettes and vice versa, and also in the web preview, so it's a really quick way to design. There's also X-Ray view in the preview, which allows you to click on any of the page components and view their class or id, and also where they come in the cascade. It also shows the margins and padding, which saves masses of time when you're trying to debug the positioning of page elements.
Unfortunately, CSSEdit was released just after I'd done the recent re-design of Wings Open Wide, but I've used it a lot since to fine tune the design, and I'll be using it a lot in the future.