Verifique se você tem o pacote acpid instalado em cada um dos convidados.
Eu geralmente crio novas máquinas virtuais usando o VMBuilder com o parâmetro --addpkg acpid
e a única vez que tive problemas para desligar os hóspedes do Ubuntu usando virsh
foi quando o guest vm caiu de alguma forma.