Definitely agree that if you looking for a large range of UI components with deep functionality, Vaadin is not really in the running. Also, Vaadin is a server-oriented architecture with server-side event handling, which means many more network round-trips than you get with Smart GWT.
As far as Smart GWT vs GXT, Smart GWT is a lot richer and has much better performance due its superior data management. I summarized feature advantages elsewhere and it's still current, so I'll post it here.
Note this list of feature advantages considers *only grids* - if it were framework wide, it would be many times longer. Also, this considers *only the free product* - since most people have to pay for GXT, an apples to apples comparison should include the entire set of SmartGWT Pro features on top of the list below - you can see those here:
http://www.smartclient.com/smartgwtee/showcase/
The list:
Adaptive Filtering
http://www.smartclient.com/smartgwt/showcase/#grid_adaptive_filter_featured_category
Databound Dragging
http://www.smartclient.com/smartgwt/showcase/#grid_db_dragging_featured_category
Drag Reorder of columns
http://www.smartclient.com/smartgwt/showcase/#grid_appearance_columnorder
Custom nested components (embed anything)
http://www.smartclient.com/smartgwt/showcase/#featured_nested_grid
http://www.smartclient.com/smartgwt/showcase/#grid_nested_form_new_category
Pluggable data models (build a master-detail component for any data
model)
http://www.smartclient.com/smartgwt/showcase/#featured_master_detail
Frozen columns with editing, drag and drop and all other features
still supported
http://www.smartclient.com/smartgwt/showcase/#grid_frozen_editing
Multi-level sort
http://www.smartclient.com/smartgwt/showcase/#grid_multisort_new_category
Automatic cache synchronization on update
http://www.smartclient.com/smartgwtee/javadoc/com/smartgwt/client/data/ResultSet.html
Multi-level filtering
http://www.smartclient.com/smartgwt/showcase/#grid_nested_filter_builder
Multiple rows of headers
http://www.smartclient.com/smartgwt/showcase/#grid_appearance_header_spans
User-specified formula and summary columns
http://www.smartclient.com/smartgwt/showcase/#grid_appearance_formula_sumamry_builder
The CubeGrid (multi-dimensional data model support)
http://www.smartclient.com/index.jsp#basicCube
http://www.smartclient.com/index.jsp#analytics
A whole range of autoFit behaviors (not just this sample, the whole
folder)
http://www.smartclient.com/smartgwt/showcase/#grid_autofit_filter
Also, all of these features also apply to TreeGrids (eg frozen columns
and full-row editing).
Also, SmartGWT's data connector architecture and it's ability to
support multiple caches on the same large data set, with independent
search criteria, sort direction, etc. This is needed for dozens of
use cases involving large data sets, such as moving records from one
category to another by drag and drop. GXT's "Store" is extremely
primitive by comparison and a lot of manual effort is required to
achieve something like this:
http://www.smartclient.com/smartgwtee/showcase/#row_drag_save