<s>I just found an open source window manager called [slate](https://github.com/jigish/slate).. From my point of view it's better than **divvy** and better than **sizeup**.. and it has a key binding for switching focus between screens. Its default key bindings are shown [here](https://github.com/jigish/slate/blob/master/Slate/default.slate) (very customizable).. it defaults to~  <kbd>⌘</kbd><kbd>→</kbd> and <kbd>⌘</kbd><kbd>←</kbd>

**bonus:** here is my slate [config file](https://github.com/abbood/slateConfig).. it can give you some ideas to get you started</s>

# update
From the comments I realized that my above answer isn't about switching focus, rather it's about throwing windows around from one monitor to another. That's not what the question was about.

This solution works assuming that you already have application windows already open in all your monitors.. 

Take a look at this screenshot to understand my solution (click on it to zoom):

[![enter image description here][1]][1]

**scenario 1**
i simply click on <kbd>tab</kbd><kbd>⌘</kbd> to switch between the applications (ie i switch from chrome which is on the already focused monitor to terminal which is on the monitor i want to focus on

**scenario 2**
I do the same simply by clicking on <kbd>`</kbd><kbd>⌘</kbd>, this makes me switch between windows of the _same_ application.. in the example below i got chrome windows in all three monitors, so I simply go through them until I reach the window I want to switch focus to..





  [1]: https://i.sstatic.net/qVsBt.jpg