Как отредактировать csv файл с помощью powershell?
Думается мне, что как-то так должно быть:
$Paths = Import-Csv -Path "C:\temp\OldFiles.csv" -Delimiter ';'
$ToMove = "C:\temp\ToMove.csv"
foreach  ($Row in $Paths)
{
    $Path = $Row.FullName
    If ($Path.Substring(0,2) -eq "\\")  {$Newpath = ("\\?\D:\11111\To_Move" + $Path.Remove(0,12))}
    $Destpath = Split-Path $Newpath -Parent
    $Row | Add-Member -NotePropertyName "NewPath" -NotePropertyValue $DestPath
}
$Paths | Export-Csv -Force -Path $ToMove -Encoding UTF8 -Delimiter ";" -NoTypeInformation
Стоит проверить что именно у вас долгое
Import-csv вы никак не ускорите.
А вот $dataColl - реальный кандидат на ускорение
Проще всего использовать ArrayList вместо массива
...
$dataColl = New-Object System.Collections.ArrayList
foreach  ($Path in $Paths){
....
    [void]$dataColl.Add($dataObject)
  }
}
...

И вообще, массивы для коллекционирования более 1000 элементов - тормоза, потому что они каждый раз пересоздаются и копируются из старого в новый.

Measure-Command { $a = @(); 1..1000 | %{ $a += $_ } }

    TotalMilliseconds : 40,3721

Measure-Command { $a = New-Object System.Collections.ArrayList; 1..1000 | %{ [void]$a.Add($_) } }

    TotalMilliseconds : 18,5863

# А для 10000 уже
   TotalMilliseconds : 2016,3737
  vs
   TotalMilliseconds : 57,6177

p.s. Кстати да, Роман Безруков верно заметил, что новый массив создавать вообще не обязательно. Но информация выше сильно влияет на работу, так что оставлю :)