In zsh, by default all the widgets that operate on words including the transpose-words one bound by default to Alt+T in emacs mode work on words that are defined as sequences of alnum+$WORDCHARS characters.
The default value of $WORDCHARS has *?_-.[]~=/&;!#$%^(){}<>, so includes /, so should be fine for you to transpose paths as long as those paths don't include characters outside of that. That won't work for path that contain things like :, % or are quoted though.
But you could use the select-word-style framework to change the definition of word on-demand.
If you add:
autoload -U select-word-style zle -N select-word-style bindkey '\ez' select-word-style
to you ~/.zshrc, then upon pressing Alt+Z, you'll get the choice:
Word styles (hit return for more detail): (b)ash (n)ormal (s)hell (w)hitespace (d)efault (q)uit (B), (N), (S), (W) as above with subword matching ?
After pressing "return for more detail":
(b)ash: Word characters are alphanumerics only (n)ormal: Word characters are alphanumerics plus $WORDCHARS (s)hell: Words are command arguments using shell syntax (w)hitespace: Words are whitespace-delimited (d)efault: Use default, no special handling (usually same as `n') (q)uit: Quit without setting a new style
so pressing S would allow you to transpose two shell words (so including those containing quoted spaces or command substitutions...) with Alt+T (or delete one with Ctrl+W, move back one with Alt+B, etc).
See
info zsh select-word-style
for details (assuming the zsh documentation has been installed on your system (zsh-doc package on Debian and derivatives)).