For windows and workspaces, you need to define a binding in your i3 config. Note: windows are called "containers", and monitors are called "outputs".
For moving windows:
move container to output left|right|down|up|current|primary|<output>
This is what I use in my i3 config:
# move focused window between monitors
bindsym $mod+Shift+greater move container to output right
bindsym $mod+Shift+less move container to output left
Note, you can also set a keybinding to send things to a specific monitor.
Moving focus between monitors works just like with one monitor. The focus will jump once you reach the "edge" of one monitor. The default binding is $mod+<arrow direction>. See also: moving workspaces between monitors.