Si tienes Delphi XE o superior (o ya usas alguna librería de expresiones regulares con las versiones anteriores de Delphi), podrías implementarlo con expresiones regulares.
Es más rápido y eficiente el ejemplo de Ecfisa, pero pongo aquí el programa (de consola) completo con expresiones regulares a efectos de documentación.
Saludos.
Código Delphi
[-]program Project1;
{$APPTYPE CONSOLE}
{$R *.res}
uses
System.SysUtils, System.RegularExpressions;
var
cadena: string;
begin
cadena := ' Pedro Antonio Omar Benitez ';
cadena := TRegEx.Replace(cadena, '(^\s+|\s+$)', ''); cadena := TRegEx.Replace(cadena, '\s{2,}', ' '); Writeln('[' + cadena + ']');
ReadLn;
end.