I'm looking forward to atomic swaps, but in the meantime I will endorse https://shapeshift.io/ -- it's a remarkably convenient and simple exchange. I found it far easier to use than bitsquare and far superior liquidity.
This wiki article describes an atomic swap process.
I believe the largest issue with that process is that it takes multiple steps. Those steps can be reversed if the process is halted (and are therefore atomic). However, needing to transmit to the network multiple times and wait before continuing makes it a hassle to carry out manually. That leads to either wallets or trusted third parties completing the transaction for you so you don't have to sit and wait.