Como você descobriu, o runas não permite executar um comando elevado, apenas como um usuário diferente.
A elevação acontece quando você tenta iniciar um executável marcado como exigindo elevação, causando o prompt do UAC. Não é apenas uma opção no CreateProcess. Portanto, se você estiver executando uma cópia não elevada do cmd e desejar que ele execute outro comando comum, mas faça com que ele seja executado de forma elevada, será necessário um comando de interlúdio que possa executá-lo para você, mas esteja marcado para elevação. É complicado pelo fato de que os diretórios atuais e variáveis de ambiente não são herdados pelo filho elevado.
O comando su incluído com minha shell Hamilton C (divulgação completa: sou o autor) tem uma opção sudo que resolve isso e aqui está como eu fiz: Quando você solicita ao su para executar um comando elevado, ele inicia um cópia de si armazenada como elevate.exe marcada para elevação. elevar, em seguida, handshakes através da memória compartilhada com su para passar os argumentos da linha de comando, diretórios atuais e ambiente através do limite de elevação e, em seguida, elevar executa o comando.