That will depend on your Types.
You will move it from x to z, from y to x, from z to y. That is three copy operations of the underlying representation (maybe only one pointer, maybe something more, who knows)
Now maybe you can create a faster swap for your type (xor swap trick, inline assembler, or maybe std::swap for your underlying types is just faster).
Or maybe also your compiler is good at optimizing, and essentially optimizes both cases into the same instructions (like have the temporary in a register).
I personally tend to always implement a swap member function that will be called from several places, including things like move assignment, but YMMV.