Hay que tener en cuenta que SOUNDEX() mete 3 nuevos problemas en la ecuación:
1) Que está pensado para el Inglés solamente, aunque a veces acierte con algunas otras palabras
2) Que cada llamada implica una conversión al vuelo
3) Que por buscar palabras que "suenen" parecido, se puede caer incluso en más problemas que usando set NEAR ON, ya que, por ejemplo, en inglés "peera" suena como "pira" y te das cuenta que ni siquiera se parecen a nivel léxico.
Para el caso de la búsqueda de Nombres Propios, creo que la mejor solución es la de CHRTRAN(UPPER(string, "ÁÉÍÓÓ", "AEIOU")), ya que incluso usando un indice de collate GENERAL no te permite "buscar" la cadena indistintamente con o sin acentos, lo que creo que le quita un poco su utilidad, salvo que solo se use en un Browse para mostrar datos.
Qué raro que no hayan implementado nada para este tipo de búsquedas de forma nativa, con el uso mundial que tiene la herramienta desde su origen.