La única vez que verá una diferencia de rendimiento es si no marca una propiedad como "no atómica". Luego, @synthesize agregará automáticamente el código de sincronización alrededor de la configuración de su propiedad, manteniéndola segura, pero más lenta de configurar y acceder.
Por lo tanto es probable que la mayoría desea definir una propiedad como:
@property (no atómica, retener) NSString * myProp;
Personalmente creo que la notación de puntos es generalmente útil desde el punto de vista de que no tiene que pensar en escribir métodos de configuración correctos, lo que no es del todo trivial incluso para instaladores no atómicos porque también debe recordar liberar el valor anterior correctamente. Usar código de plantilla ayuda, pero siempre puede cometer errores y, en general, se trata de un código repetitivo que desordena las clases.
Un patrón a tener en cuenta: si defines el setter tú mismo (en lugar de dejar que @synthesize lo cree) y comiences a tener otros efectos secundarios de establecer un valor, probablemente deberías hacer que el setter sea un método normal en lugar de llamar usando notación de propiedad.
El uso semántico de las propiedades parece ser un acceso directo al usuario real y cualquier cosa que varíe debe realizarse enviando un mensaje, no accediendo a una propiedad (aunque en realidad ambas envían mensajes).