Even though I started using tmux for panes, I still use screen to multiplex the windows within. tmux supposedly has this functionality, but swapping panes from one window to another is not intuitive to me, nor can two attached tmux viewers be viewing different windows within the same daemon (screen -x behavior), thus the screen-in-tmux solution. These are two tmux.conf binds that took me the longest to figure out and I use every day.
The first, bind M (ctrl-b shift-M), toggles tmux between mouse pane-picker and mouse highlight/copy. You can still copy/paste in pane-pick mode, but you must hold shift (and if you get into the habit of that, copy/paste in any other application will make you a bit miserable, let me tell you). The macro also makes it visually obvious which mode is currently selected.
bind M set mouse-select-pane \; if '[ "`tmux show -v mouse-select-pane`"= "on" ]' "set status-bg cyan \; set pane-active-border-bg cyan" "set status-bg green \; set pane-active-border-bg default"
The second, bind C-L (ctrl-b ctrl-l), will take any layout of 4 panes and turn it into my preferred layout. Often times, I will find I have hit ctrl-d in a pane I thought was inside screen to close it, but instead there was no screen session and it closed the pane. Since my layout is v-split, h-split, v-split and some resizing, if I accidentally closed any but the last window, it becomes a pain (no pun intended) to close any intermediate panes between the one I need to recreate and the last, then re-create and resize the panes, and finally re-attach any screen sessions I may have had to detach when killing panes. With this macro, I can create a new pane, ctrl-b { (the default bind for swap-pane -U) until it is back in the right order, then hit the macro and everything is back to normal. My preferred layout is not likely the same as yours, so once you have a layout you like, use the list-windows
command to get a layout string like the one below.
bind C-L select-layout a18e,155x94,0,0[155x18,0,0,6,155x75,0,19{81x75,0,19,31,73x75,82,19[73x22,82,19,32,73x52,82,42,33]}]
If that's too naive for your taste, there is always tmuxinator for pane management.