GWT is a great alternative to building swing based applications. We have been using GWT+ GXT (3rd party lib) for about 2 years now and deployed in production. The apps are built more like a desktop L&F rather than a traditional web app and users are very comfortable using it for a little lack in the performance over the wire.
Enterprise customers have a hard time understanding the flash player to run Flex and that seems to be a major hurdle with flex (unless something has changed since I last checked the pre-requisites)
We're currently working on a massive technology migration OFF flex. Sounds strange I know, but one of the limitations of flex is that it is a very *heavy* technology. Looks great, behaves great, but for international web-available products it can limit reach to areas of the globe with bandwidth and connection speed issues.
Not exactly sure about SWING - I guess most desktop user interface technologies are on their way out as the mass world migration onto the web/cloud. But i don't think it's an industry that will ever disappear completely. There are plenty of large enterprises who are very dependant on swing here.