La codificación y el cifrado no son lo mismo: la codificación no necesita una clave, el cifrado sí. XOR no está codificando, es una forma de cifrado muy débil . Base64 sería un ejemplo de codificación. Uuencode es otro ejemplo.
La diferencia entre XOR y AES es la diferencia entre una caja de madera con clavos que cierran la puerta y una caja fuerte de banco. XOR puede ser descifrado trivialmente, pero AES no lo hace.
En este caso específico de ofuscación de código, XOR es astronómicamente más rápido que AES. Derrotará a la mayoría de los sistemas IDS basados en firmas y no aumentará demasiado el código resultante. AES creará un código más grande y será más lento.
En ambos casos, cualquier inspector humano podrá descifrar el contenido, ya que deberá proporcionar la clave para descifrar el código. De lo contrario, su programa no se ejecutaría en absoluto.