Just make the query once and then gets your strings from the object that's returned the first time.
$Current = Get-QADUser -SearchRoot $searchDomainFrom $user
$FirstName = $Current.DirectoryEntry.FirstName
$LastName = $Current.DirectoryEntry.LastName
$Email = $Current.DirectoryEntry.Email
$Supervisor = $Current.DirectoryEntry.Manager
$OfficeLocation = $Current.DirectoryEntry.Office
$PhoneNumber = $Current.DirectoryEntry.PhoneNumber