変数に含まれる値を交換する場合は、一時変数を用意して、次のようにするのが一般的なやり方です。
-- 変数の定義
set a to 1
set b to 2
-- ここから交換の処理
set tmp to b
set b to a
set a to tmp
{a, b}
--> {2, 1}
AppleScriptではリストを使うことによって、一気に代入することができます。
そのことについて詳しくは「値をリストでまとめる」を参照して下さい。
また、AppleScriptは右辺の内容を変数とは別のメモリに一時的に保存しておいて、代入を行います。この性質を利用すれば、次のように一気に交換することが出来ます。
-- ついでに定義も一気に行います
set {a, b} to {1, 2}
-- ここが交換の処理、何と一行のみ
set {a, b} to {b, a}
{a, b}
--> {2, 1}
もちろん3つ以上の変数でも交換は可能です。
set {a, b} to {1, 2, 3}
set {a, b, c} to {c, a, b}
{a, b, c}
--> {3, 1, 2}
あまり大きなものをまとめて交換すると、メモリ不足が心配されるので、大きなデータを交換する場合は、3つ以上まとめてやるのは控えた方がいいかもしれません。
参照の交換をしているだけのような気もするので、意外に安全かもしれませんが。
変数の内容の交換は頻繁に起きる処理ですから、簡単な割に有効なTipだと思います。