Shell quoting is always a problem. What are you using as a shell, CMD.com or PowerShell.exe? Since you have a windows-server-powershell tag in your question, I'll assume it's PowerShell.
Try placing a back-tick character before the interior double-quote, or put the targetou value into a variable and using the back-tick in the string value. Then use the variable as the targetou value:
$p = "ParentOU/TEST!@#$%^&*()_+{}|:`"<>?[]\;',./"
ADMT GROUP /n "TestGroup" /sourcedomain:Child.A.COM /sourcedomaincontroller:DC2.CHILD.A.COM /targetdomain:A.COM /targetdomaincontroller:DC1.A.COM /targetou:"$p" /intraforest:yes /migratesids:yes /migratemembers:no /fixgroupmembership:yes
You may have to experiment with the number of double-quotes surrounding the targetou value as each pass through a shell removes one level of quotations.