1) I would like to point out that clear separation of functionality in implementation doesn't imply being slow or bug-ridden. And there are levels of abstraction you can take. No need to go Java swing path and abstract gui components, but you can abstract parsers, layouts, js runtime (at least large portions of those).
2) Firefox & Opera are quite good on all major OSes. Of course Linux/OSX versions may not be on the same level as Windows versions (I really don't know, haven't made any tests recently), but they're still pretty good.
3) I'm not advocating that Microsoft makes feature-by-feature compatible ports (for example, activex comes to my mind), but I would like to see the basic stuff, namely layout and js engine. And that would be much easier if they followed what I've said in 1) paragraph.
4) And no, I don't need IE only to test for bugs. I would happily switch if they made a better browser than Chrome which is my current default browser (Firefox used to be my default browser, but I switched earlier this year).