Ok, descobri como fazer isso. Basicamente, você faz todos os hosts não-curinga primeiro e, em seguida, faz o curinga separadamente, uma vez que segue uma primeira ordem de precedência (a primeira correspondência bem-sucedida é aquela usada).
<VirtualHost *>
ServerName cueflash.com
ServerAlias www.cueflash.com cueflash.com
ServerAdmin webmaster@localhost
DocumentRoot /home/cueflash/www/cueflash.com
</VirtualHost>
<VirtualHost *>
ServerName dev.cueflash.com
ServerAdmin webmaster@localhost
DocumentRoot /home/cueflash/www/dev.cueflash.com
</VirtualHost>
<VirtualHost *>
ServerName *.cueflash.com
ServerAdmin webmaster@localhost
DocumentRoot /home/cueflash/www/cueflash.com
</VirtualHost>
Você pode definir
<VirtualHost *>
para
<VirtualHost *:80>
dependendo do seu ouvinte. Além disso, não que eu não tenha incluído várias configurações para coisas como logs de erros. Você precisará deles em cada uma das suas listas do VirtualHost