I'd say that the majority of Swing performance issues are more likely do to misunderstanding how to use threads appropriately in a Swing application. Any GUI application is going to have moments when it appears to run slow. This is usually because there is a long running task but you have designed the app so that the GUI is unresponsive to the user and/or nothing is notifying the user of what is going on.
If I were you I'd take a look at
Desktop Java Live and specifically Chapter 5 on Swing Threading (which just happens to be the sample chapter).
Understanding how to use threads in Swing and how the EDT works will take care of the majority of your performance issues that appear to be Swing related.
[ July 22, 2005: Message edited by: Gregg Bolinger ]