We could use the following command via SOAP to implement it
.character changeaccount [accountName] [player]
[player] can be characterName or characterGuid (to be verified)
Optional configuration:
- allow character transfer only to non-fresh accounts (ex. accounts older than 30 days)