Programmatically change table column order

Is there a way to change the order of columns in a table programmatically, similar to the ReorderTraces command for graphs?

There is no way to change the order of columns in a table other than to remove a wave (RemoveFromTable) and add it back (AppendToTable). The appended wave is always appended to the right end.