How to automagically move windows between monitors with one keystroke?

I use the following AppleScript to do what you're asking to do; while it currently assumes the screens are the same size and positioned side-by-side, it should be relatively easy to change for other cases. Many techniques exist to run AppleScripts with keystroke commands; personally, I use Butler.

tell application "Finder"
    set _bounds to bounds of window of desktop
    set _width to item 3 of _bounds
end tell

set left_width to _width / 2

tell application "System Events"
    tell (first process whose frontmost is true)
        tell first window
            set {x, y} to (get position)
            if x < left_width then
                set position to {x + left_width, y}
            else
                set position to {x - left_width, y}
            end if
        end tell
    end tell
end tell

A quick search does yield a couple applications which include the functionality you're looking for - none of which seem to be free, though. They do have trials. I'll let you know if I find a free one.

SizeUp, Optimal Layout, WindowMover. SizeUp seems to be the best of the three, seeing as it's made by the same makers as Cinch and seems most lightweight.