Bulk move contacts to new group after message sent
In principle this should be possible using the CiviRules extension: https://civicrm.org/extensions/civirules.

Documentation of this extension: https://docs.civicrm.org/civirules/en/latest/

I think you would get there by selecting the trigger Activity is added, select the specific type of activity (Email) and add one more condition that would specifically identify your mail. Then action remove from group A and add to group B.

Or if you use a mailing you should probably be able to work with a trigger on Mailing but I have never tried those myself!