Re custom actions: It would be very cool to get them to toggle the button. ReaScript also can't toggle button states as far as I know.
You mean an action like "Misc: Toggle toolbar button state"? Sounds clever
Though it would blindly toggle, without knowing whether the actual state should be on or off. Nevertheless, might be useful.
A way to go about it could maybe be a sort of pointer in the custom action one single action can be tagged with. That action would determine the button's state.
About the SWS extension actions not toggling, you should report them to Tim directly. This thread over at the SWS extension site seems exactly right:
SWS issue tracker Issue #35 (scroll down, the thread has a happy end
)