O problema é que na sintaxe:
if-shell shell-command tmux-command1 tmux-command2
você pode usar $() na segunda parte shell-command , pois o shell interpretará isso, mas não nas duas partes do comando tmux. Uma solução é tornar o comando tmux um run-shell que executa tmux source-file , ou seja, substitua seu 'source...' por
'run-shell "tmux source-file $(python -m site --user-site)/powerline/bindings/tmux/powerline.conf"'