When you want to change a CNAME to another host you could do as follows:

# we need 2 dns records for the change with set-dnsServerResourceRecord
$new = $old = Get-DnsServerResourceRecord -ComputerName dcserver -ZoneName contoso.corp -Name Wacky -RRType Cname
# now we have 2 the same records and we need to change the new one:
$new.RecordData.HostNameAlias = "wacky.contoso.corp"
# That now had the right data for the set command
Set-DnsServerResourceRecord -NewInputObject $new -OldInputObject $old -ZoneName contoso.corp -ComputerName dcserver
# now verify that the change has been set:
Get-DnsServerResourceRecord -ComputerName dcserver -ZoneName contoso.corp -Name Wacky -RRType CName