An extra byte to eliminate a MOV via a 3-register instruction is a no-brainer savings.
The extra 16 registers are going to be a lot more fun though. It will also eliminate a lot of those MOVs, but every access will have a 17% penalty going from 5 to 6 bytes.
Meanwhile, ARM/RISC-V can use 32 registers and use 3-register assignments with just 2/4 bytes.
Only 1 operand byte. The VEX and EVEX prefixes replace the 0f/0f38/0f3a opcode prefixes with an opcode map selector, and the 66/f2/f3 prefixes are also shoved into some more bits in the prefix. The only prefixes not subsumed by the EVEX prefix are F0 (largely lock), the segment selectors, and the address size override prefix... the last of which should never be used in 64-bit code anyways, and the former are pretty rare in instructions.
If you've got a 3-byte opcode that needs the REX prefix, you're going from 5 byte encoding to 6-byte encoding, which isn't too bad, but it is going to hurt for those instructions that previously could get away with 2 bytes.