Checkboxes and radio buttons in XenForo don't have their own wrapper, so it's impossible to style them with another element. They have labels but these labels are not distinguished in any way. You can't tell if that's a label for checkbox, radio button, text input or anything else. So here is the suggestion:
Give labels classes depending on contained input element type;
Wrap radiobuttons and checkboxes so they can be styled with CSS.
Just a quick update on this. All radio buttons and checkboxes I've found in XF 2 were wrapped inside a <label>, so that simplifies the task. But these labels lack classes and with classes styling control elements would be no issue.