En supposant un scaling parfait et une règle de 3, si ton r5 2600 fait tourner 10VM avec ses 6c/12t, il te faudrait 24c/48t pour en faire tourner 40.
Y'a eu de l'amélioration niveau performance par coeur, mais à mon avis pas assez pour qu'un 3950x qui n'a ""que'''' 16c/32t puisse les assumer malheureusement. Concernant ton cpu EPYC, à mon avis c'est encore moins bon, vu que les fréquences sont plus basses que le 3950x...
Pour moi y'a des chances que ta solution sois du côté d'un threadripper, où alors d'une plateforme en dual socket x99, qui est à un prix abordable, et qui pourrai te permettre de monter à beaucoup plus de coeurs pour des prix pas si elevés que ça (dual E5-2698v3 ça te donne 32c/64t pour 1k environ, avec la mobale et tout le reste tu sors le système pour moins de 2k). Après c'est de la seconde main/ebay/aliexpress, ça peut refroidir en fonction de tes contraintes admininstratives