I ran the this script in a SPE console to have more output:
$ctx = gi .
$model = Show-NewSiteDialog $ctx -Verbose
Write-Log -Log Error $ErrorRecord
Show-Alert "Something went wrong. See SPE logs for more details."
Verbose part is important here to get more information from the Show-NewSiteDialog..
Once I ran this I noticed that the problem was in the
Get-InvokedTenantAction cmdlet. I changed that one to have some more logs and finally found that the existing templates from the tenant need Insert options. And I actually removed those so that field was empty. Changing the script to check the field first fixes that (add the
[Sitecore.Data.ID]$baseTemplates = $standardValuesHolder."__Masters".Split('|')
I noticed that the
Get-InvokedSiteAction cmdlet had the same code so I changed it there as well.
But it still didn't work. Apparently all templates (and base templates) for that tenant also need a Standard Values item for the script to work. I had one base template that did not. I could have altered the script to check for this as well, but decided to create a standard values item for that one base template.
If you need to alter the script, this line need a check first:
$standardValuesHolder = Get-Item -Path master: -ID $template.'___Standard values'
This is registered as a bug so it will be fixed in a future version, but if you bump into issues in the meantime this might help.