There is no universal "best" software for GUI design. It just depends on your software/workflow preferences.
I'm not sure what you mean by "multiple editable gradients", but if you know what you're doing, Photoshop provides all the tools you need to design any GUI you can imagine. No "tricking" of tools needed.
Despite its name, Photoshop has evolved far beyond being a simple photo-editing/manipulation tool, and there's no reason why you can't do GUI design in it. Photoshop probably provides the most comprehensive set of raster image editing tools of any graphics program on the market, and it's used for everything from digital painting to comic book coloring to illustration to web and UI design to video production and creating 3D game art to even photo forensics.
Features like adjustment masks, layer styles, vector paths, smart objects, layer comps, etc. make it a natural choice for UI design for those already familiar with its interface and deep featureset. Another plus is that it's well integrated with tools like Illustrator, Flash Catalyst, and many 3rd party apps/plugins.
Many people prefer Fireworks for web design as that's what it was specifically designed for, and for this reason it's also a good tool for GUI design. Being object-oriented and supporting pages, symbols, and styles, Fireworks lends itself very well to a UX design workflow. A lot of people also find Fireworks gives them better pixel-perfect control without resorting to rulers, guides or measuring tools.
Additionally, Fireworks has a lot of nice features like gradient dithering, ASE swatches, and in some ways better typography control than Photoshop. Fireworks' web layer and its integration with Adobe's Device Central also makes it easy to rapid prototype for multiple devices.
Another popular app amongst UX designers is Illustrator, which shares a lot of strengths with Fireworks. Like Fireworks, it supports symbols, advanced object styles, multiple artboards (similar to pages) and even better vector editing facilities.
Photoshop, Fireworks, Illustrator, as well as InDesign, all have wireframe/stencil kits and UX templates available for them on the web, but modular UX design is easier in Illustrator and Fireworks because of their support for reusable symbol libraries.
Illustrator also supports character and paragraph styles, making its typography design features far superior to either Photoshop or Fireworks. Additionally, Illustrator is great for illustration, so any icons or web graphics you might want to create can be made in the same program.
InDesign is another very popular app amongst IAs, IxDs, etc. Its graphic design facilities may be limited, but its support for pages, paragraph and character styles, snippets and object libraries make it ideal for a lot of UX design tasks. InDesign also has very advanced typesetting facilities and supports grid layouts. This, along with InCopy integration and Adobe Digital Publishing Suite make it a natural choice for print media companies looking to design mobile apps for their magazines.
But at the end of the day, every tool has its strengths and its weaknesses. The most UX-specific apps like Axure, Balsamiq, OmniGraffle, etc. have a lot of great UX-specific features for layout/wireframe/interaction design. But at the end of the day, you still need to actually design the graphics for the UI, which graphic design tools like Photoshop/Fireworks/Illustrator are needed for.
That's why most UI design workflows include more than one app. So unless you're only concerned with a single part of the UI design process, e.g. wireframing or building the UX library or prototyping, then there isn't going to be a single "best software".