Isn't this just executing the shellcode in the current process? Which seems a bit pointless if we have already elevated the current processes?

Ideally it should: start a new process, elevate that process and execute shellcode - leaving the current process intact.
Or: elevate current process but execute new shellcode in a new process?
Or: just elevate the current process but dont bother executing shellcode (although this breaks away from the Metasploit 'exploit' definition it is like getsystem).