No primeiro caso você deve citar a barra vertical (|), já que dentro do lftp também é um símbolo especial (também use aspas duplas para interpolar as variáveis src e dest, cota barra invertida e cifrão para evitar a interpretação deles pelo shell):
/usr/local/bin/lftp -u user,pass -e "mirror -x '^(\.mp4|\.swf)\$' $src $dest" ftp.host
No segundo caso, você precisa usar padrões glob, assim:
/usr/local/bin/lftp -u user,pass -e "mirror -X *.mp4 -X *.swf $src $dest" ftp.host
De qualquer forma, recomendo testar primeiro o comando mirror com a mão e automatizá-lo depois.