It seems no matter what, if you try to use [–reassign] along with [–network], you will get the Error “Reassigning content to a different user is not supported on multisite.”
However, for the second part. To remove a user from one site and reassign the posts, you can use the following:
wp user delete userName --url=https://www.siteURL.com/ --reassign=911
Note: For the [–reassign] you MUST use the user-id (numeric value) here, otherwise it will not reassign the posts. If you aren’t sure of the ID for the user you want, you can find it with:
wp user list
After you reassign the posts for each single site, you can safely remove the user from the network.
wp user delete userName --network --yes
The [–yes] Option is to answer yes to all prompts. In this case it would say;
“–reassign parameter not passed. All associated posts will be deleted”.
Well… we wanted to reassign the posts network-wide. It wasn’t “supported”. Pretty annoying, but as long as you reassigned all the posts before running the –network delete, you should be fine to answer “yes”.