Personally, I think that Swing is Java's version of MFC... it's difficult (well... less difficult than MFC

) to use but it lets you do pretty much anything you want.
I am not a VB developer, but the two things I have most often heard VB developers deriding Swing for are speed and drag-and-drop development.
I think that speed isn't really the big issue that most people make it out to be... if you take a VB app and a Swing app that perform the same function, they should pretty much be the same speed (Unless the VB app is doing something really specific to Windows). I think most of the speed issues with Swing come from bad design and threading issues that are introduced by developers. Swing does have some performance-eating features itself, but these are there for added functionality, and it is possible to make work arounds for some of them.
As far as drag-and-drop RAD development, some of the IDEs (JBuilder & Forte/Sun ONE) provide GUI builders that pretty closely approximate this. Also, if you've ever looked at the BDK (Bean Development Kit), you can develop apps even easier by just wiring JavaBeans together.
Most "easy GUI builder" approaches in Java have actually been more like GUI XML specifications rather than drag-and-drop. Check out
JEasy,
XMLPanel,
Antheva, and
Luxor.
I think that Sun hasn't placed as much emphasis on GUI technology because server-side & web-service development is so hot right now, so supporting these technologies receive more attention. But there are still lots of open-source and commercial developers working on making GUI development easier, and I wouldn't be suprised if Sun decides to include some of these technologies, either in the language itself, or the Sun ONE
IDE.