Try something like this
$cpuWatermak = 90
$vms = Get-VM
$metric = "cpu.usage.average"
$start = (Get-Date).AddDays(-1)
$stats = Get-Stat -Entity $vms -Stat $metric -Start $start -ErrorAction SilentlyContinue
$stats | where {$_.Value -ge $cpuWatermark} |
Select @{N="VM";E={$_.Entity.Name}},Timestamp,Value |
Sort -Descending -Property Value |
Select -First 10
The sample looks at the average CPU usage of each VM for the last day.
It filters out the entries that are above the 90% watermark and then picks the 10 highest ones.
For the other metrics the principle is the same.
With vCheck 6 you can define yourself which plugins need to be used.
So you can make the resulting report as elaborate as you want.
And in fact you can write your own plugin and produce exactly what you're after.