This has been discussed in much depth in many other related questions (see right pane on this page). So I'll make it brief.
Toggle switches are anti-usability
Despite their relative popularity (eg, Apple use them as a standard interface control) toggle switches have an inherent state-action ambiguity; that is, it is unclear whether the label ('on' for example) is the current state, or the action.
Another issue with these is that the layman can easily conclude that in order to change the state one should drag the handle (like in the real world) rather than click anywhere on the whole control.
The style of the toggle switches in your example (which have only one label inside the switch) is somewhat a ludicrous attempt to take something from the real world and create an interface metaphor. Thus, this type of toggle switches also violate the form-follows-function guideline.
In the real world, switches are far more basic than the one's in your example, forcing manufacturers to provide labels and trace lines for all possible states. As in this real-world switch:
Checkboxes are easier to interpret
There are various ways to improve the usability of such switches, and one has to remember that these are both fairly popular and only require a few learning iterations before most users get it. But from a cognition perspective a checkbox is far easier (and faster) to interpret compared to a toggle switch.