The Raphael JavaScript framework John mentioned is the best I've come across. You could also use pure SVG and display it in IE using XSLT, as described by Sam Ruby. I've also used excanvas, which used to work with IE also. SitePont also had a post recently about the Lively Kernel, which uses SVG and JavaScript. Very cool, and I'm curious to see how that develops.
I prefer the SVG markup and tools (Illustrator, Inkscape, etc), as well as the ability to use the markup over the JavaScript code. Theoretically, you could use SVG with XForms or XHTML to create entire UI's, much like MXML or Silverlight's XAML, or even use XSLT to translate between different platforms. HTML5, while the likely successor to HTML4, is still not a full standard and no one knows for sure whether or not IE will ever have the canvas element.
Update
As I've learned more about HTML5 and the role of SVG and Canvas, I would suggest you use both. They each have strengths and can work together nicely. For a great example, see Remy Sharp's talk from NDC 2010.