I use
switchmove "FXStandSurDown"
which has them starting prone, drop the weapon, then rise with hands held up.
It requires no loop, but does require a monitor script afterwards. I launch a monitor script for each guy that surrenders, with the following code:
_guy=_this
_dam=getDammage _guy
#loop
~.5
? kmkHasPOWS:exit
? !(alive _guy):_guy switchMove "";exit
? _dam!=(getDammage _guy):_guy switchMove "";_guy setcaptive false, _guy allowfleeing 1;exit
goto "loop"
That makes sure that if anyone shoots him, the surrender animation stops, or if he is killed it stops as well. For personal taste, I made it so that if a prisoner is wounded AFTER he surrenders, he stops surrending and tries to high-tail it out of there...no point surrendering if they are still going to hurt you!
But if you use "FXStandSurDown" I think it is wise to monitor the guy's state afterwards in case he is killed, so he can fall down and rest in peace, instead of spending eternity standing up with his arms over his head.