I apologise to the webmaster if this is not allowed, (couldn't see anything in FAQ about it) but I am offering a bounty for the best answer for this question: $50. The answer to this question will also be posted on the drupal.org as documentation for drupal_add_tabledrag() so that more people can use it in future.
I am trying to implement a form that is themed with drupal table drag using subgroups. My form consists of a list of 'employees' that need to be assigned to different 'departments'. The order of the employees does not matter once they are inside a department.
The admin/structure/block table is similar to what I am looking for but with just the select box for region and no weights.
I've looked through the documentation here: http://api.drupal.org/api/drupal/includes--common.inc/function/drupal_add_tabledrag/7 and I've also studied the admin/structure/block table code but after several hours of trying different combinations - I am stuck!
The block module uses custom JS and a template tpl file for outputting the table. I think this doesn't take full advantage of Drupal. Therefore, this solution should make use of theme_table and #ajax (for the region select fields).