手元の環境は双方 7.0u1 に更新してしまったので試されたバージョン間での挙動確認はしていませんが、
ほぼ同等の手順での移行は問題なく動作しています。
いくつかエラーメッセージで VMTN 内を調べてみると、PowerCLI のバージョンが関連する場合もありそうです。
私は最新に近い Ver 12.0 で試しています。
私の環境では問題なくできましたが、①② の操作後、セッションが切れてしまっている可能性もあるので、
nkaneda さんが指摘されたように変数に入れるのではなく、セッションを張った状態を維持しておくのも切り分けとしてアリかなと思います。
PowerCLI 12.0.0 build 15947286
PS C:\> $cre1 = Get-Credential
PS C:\> $tvc = Connect-VIServer -Server vxvc01.vx.local -Credential $cre1 -Force # target vCenter 7.0u1
PS C:\> $cre2 = Get-Credential
PS C:\> $svc = Connect-VIServer -Server dvc.dvsan.local -Credential $cre2 -Force # source vCenter 7.0u1
PS C:\> $vm = Get-vm -Server $svc -Name "Perf-VM01"
PS C:\> $tds = Get-Datastore -Server $tvc -Name "vSAN-Datastore"
PS C:\> $tpg = Get-VDPortgroup -Server $tvc -Name "VM_Network"
PS C:\> $thost = (Get-VMHost -Server $tvc)[0]
PS C:\> Move-VM -VM $vm -Destination $thost -Datastore $tds -PortGroup $tpg
ご参考まで