マクロだと、
begingroupundo;
replaceall "^(.+?) - (.+?) - (.+)$" , "\\1 - \\3 - \\2" , regular;
endgroupundo;