setIdentity does work up to a point, but it won't allow you to give the player his correct name/face after switching. He should still have the same name in chat, but won't have the correct name for most other purposes, such as use of the name command. Wish I knew how to deal with this issue, since it prevents us from changing the player's model (for example, even attempting to switch the player to just changing outfit/model within the same side won't work; well, it will work, in that the model will change, but it won't carry the player's name or player-chosen face).