There was a thread on slashdot at one point, and this seems to be the best suggestion from there (but it's not going to help create "realistic" UIs):
http://dub.washington.edu:2007/denim/
I have a similar need -- Visio is the best tool I've found, but it is also the only reason I keep a windows VM around, so I would really like to replace it with some OSS (or at least linx-compatible) tool.
I'm looking into DIA / Kivio / Inkscape with the Yahoo UI Stencils, and I'll report back.
Edit: I don't believe this is currently possible with Dia. This page (linked from the walkthrough) describes (some of) the limitations on the dia shape support for SVG. Furthermore, rounded rectangles are out (making it difficult, but not impossible to make "pretty" buttons), and the gradient svg definitions are suspiciously absent from the supported svg tags.
Edit: I've settled (for now) on using Inkscape with the Yahoo UI Stencils (which I've broken out into separate svg files) and a couple little workflow hacks to use the Inkscape open dialog like a custom pallet. Full details, and the broken out YUI stencils are available here: Ciscavate.org