Avoid ambiguity
The control should clearly tell the user where to click / swipe and what the result will be.
Take these iOS toggles for example:

In juxtaposition, a user can easily tell which setting is on and which is off. But if you watch users interact with them (especially when all are in the same state or there is only one) you'll notice that they pause to consider how to change the setting.
Apple has consciously chosen style over usability (much like Mac OS' invisible scroll bars). Once you learn it the control is obvious, but the novice has to pause.
Make the choice obvious
If you embed the "value" directly in the control, you give up some style in the name of clarity. This is less sexy than the iOS example, but the user will understand at a glance what's expected.
In the example below, I've reversed the most common position (on
on the right) but no one is going to be confused.
I've also used a common "positive" color for on. Your use of red for on breaks with convention in a way that may further confuse the user.

*UPDATE* in response to commenters' observations, I took a second look at my quick mock. I think this does a better job of indicating state. Thanks for the critique!
One other purely anecdotal finding of mine: Position the setting label to the left and the control to the right. This allows the user to scan the label before worrying about the control's state.