better solution in vbulletin - if i ban somebody, he moves to usergroup Banned, and I can set permissions for this group. This is universal solution, some admins can set total ban on their forums, and other admins can set it by different way. Choice is better than no choice
The important thing is to stop thinking about "Ban" because "Ban" in XF is total. What YOU want is reduced permissions and this is how to achieve that:
1: Create a secondary usergroup which has REDUCED/REMOVED permissions so that members in it can (only) do the things you want and nothing more. I'd recommend NOT using the term "Banned" here to avoid any confusion with a true ban. Another term - we use "Suspended" - is preferable.
2: Create a suitable Warning or Warnings and a Warning Action that adds members with n points to this usergroup.