Uma forma de fazer, com pouco código no entanto  limitado a elementos que se encontram um ao lado do outro, é fazer uso do método de jQuery .before(), onde o que é feito é pegar no $ele2 e passar o mesmo para antes do $ele1:

function switchElements(ele1, ele2) {  
   ele1.before(ele2);  
}  
switchElements($('#div2'), $('#div3'));

Exemplo – JSFiddle

Também podemos utilizar o método de jQuery .after() que fará o inverso:

function switchElements(ele1, ele2) {  
   ele2.after(ele1);  
}  
switchElements($('#div2'), $('#div3'));

Exemplo – JSFiddle

Caso os seus elementos não estejam lado a lado, utilize a seguinte função:

function switchElements(ele1, ele2) {  
   var ele1Clone = ele1.clone(),  
   var ele2Clone = ele2.clone();  
   ele1.replaceWith(ele2Clone);  
   ele2.replaceWith(ele1Clone);  
}

Como chamar a função:

var ele1 = $('#div2'),  
var ele2 = $('#div3');  
switchElements(ele1, ele2);

Com essas dicas simples de jquery, você consegue mudar a posição de elementos sem ter e necessidade de ficar repetindo código.