You might also check
this thread. If you move messages that has been routed between different routers already, e.g. move A->B, B->A, it turns into a ping/pong between the 2 routers, consumes bandwidth and slows down the other message transfer. This could be one reason. You should notice a high bandwidth usage on the routing connection in both directions without consuming the queue's backlog.
To solve the ping/pong problem:
1) Disconnect the routing connection (disable the connector).
2) On both routers:
a) Set the Scan Interval of XA Resource Manager Swiftlet to 1000.
b) Under XA Resource Manager Swiftlet/Usage/Prepared XA Transactions rollback all entries (right click, "Rollback").
c) Open message viewer on the rt$<router> queue and deleted those messages which are responsible for the ping/pong.
d) Reset the Scan Interval back to 120000.
3) Enable the connector.