Hi Frank,
It's the same host anyway, doesn't matter how you'll retrieve it.
Now I have done a simple script that let you create the template on the desired datastore. The script uses the .Net part of the VITK. You can use it to get yourself functionality that is not covered by the cmdlets and the nice part is both can interact pretty easily
Connect-VIServer -Server ...
$vmToClone = Get-Vm -Name VmToclone
$dc = Get-Datacenter -Name TargetDatacenter
#This is the vm folder of the datacenter
$dcVmFolder = (Get-View -Id $dc.Id).VmFolder
$ds = Get-Datastore -Name TargetDatastore
#This is the .Net view object of the virtual machine object
$vmToCloneView = Get-View -Id $vmToClone.Id
$cloneSpec = New-Object VmWare.Vim.VirtualMachineCloneSpec
$cloneSpec.Location = New-Object Vmware.Vim.VirtualMachineRelocateSpec
$cloneSpec.Location.Datastore = (Get-View -Id $ds.Id).Moref
$cloneSpec.template = $true
#you can use the CloneVm_Task method instead for Async mode
$result = $vmToCloneView.CloneVm($dcVmFolder, "templateName", $cloneSpec)
#if you want to get the vi object
$template = Get-ViObjectByViView $result