Microsoft has a handy tool that helps you to construct (well, actually it just shows you the results; it doesn't offer any help) command line quoting. You'll find the source code here: TestExe. You'll have to compile it yourself, but you can install the free version of Visual Studio to accomplish that.
After correcting the "smart quotes" and restoring the missing "underbar" characters in your post, here is the results from testing your original string:
"Get-ScheduledTask | foreach {Export-ScheduledTask -TaskName $_.TaskName -TaskPath $_.TaskPath | Out-File (Join-Path "D:\Testing\Sauv\SchTasks" "$($_.TaskName).xml")}"
Arg 0 is <Get-ScheduledTask | foreach {Export-ScheduledTask -TaskName $_.TaskName -TaskPath $_.TaskPath | Out-File (Join-Path D:\Testing\Sauv\SchTasks $($_.TaskName).xml)}>
Doubling the double quotes within the data, the results look like this:
"Get-ScheduledTask | foreach {Export-ScheduledTask -TaskName $_.TaskName -TaskPath $_.TaskPath | Out-File (Join-Path ""D:\Testing\Sauv\SchTasks"" ""$($_.TaskName).xml"")}"
Arg 0 is <Get-ScheduledTask | foreach {Export-ScheduledTask -TaskName $_.TaskName -TaskPath $_.TaskPath | Out-File (Join-Path "D:\Testing\Sauv\SchTasks" "$($_.TaskName).xml")}>
I think that'll get you what you want.