Sono uno scrittore tecnico nell'industria del software, e trovo che questo sia un problema comune. Queste parole (e altri sinonimi) sono usate senza un'adeguata ricerca e riflessione, quindi appaiono intercambiabili. Questo crea confusione, poiché tendiamo ad abituarci all'uso effettivo di una parola, e le persone di lingua non sempre vengono coinvolte nel design dell'UI. Quindi non guardate solo ai prodotti esistenti per la risposta!
Inizialmente, dovrei dire che in UX (user experience design) dovremmo sempre cercare di ottenere dati empirici. Se la risposta è importante, allora mettete insieme un piccolo test che coinvolga utenti rappresentativi (non i vostri amici programmatori, ma gli UTENTI). Chiedete loro di definire le parole, di usarle in frasi, o di inserire le parole in schizzi dell'interfaccia utente. Scrivete delle carte con un mucchio di opzioni/impostazioni, e chiedete ai vostri soggetti di ordinarle ed etichettare i mucchi.
Detto questo, ecco i miei cinque centesimi:
La configurazione è qualcosa che percepisco come una proprietà profonda e fondamentale del sistema. Sul vostro PC, la configurazione potrebbe essere cose come quale sistema operativo usate, quale hardware è collegato, le vostre interfacce, i vostri driver, il vostro back-up automatico, ecc. Queste sono cose che il vostro dipartimento IT potrebbe impostare, e che potreste non cambiare mai, a meno che non abbiate esigenze e conoscenze molto specifiche.
Se costruite prodotti software, la configurazione potrebbe essere un adattamento in un sito specifico del cliente. Potresti usare un file di configurazione per fare le impostazioni, o modificare il tuo database per adattarlo al cliente.
Dall'altra parte della scala metterei Preferenze. Queste sono le mie scelte personali. Queste possono comprendere se il controllo ortografico è attivo, la scelta dell'immagine di sfondo, la velocità del puntatore del mouse, ecc. Queste scelte non comportano alcun rischio, e si può sperimentare liberamente e tornare indietro su qualsiasi scelta.
Se si costruiscono prodotti software, le Preferenze saranno cose che si possono far fare agli utenti attraverso l'interfaccia utente. Le preferenze possono essere collegate all'utente corrente, e non all'applicazione globalmente.
Da qualche parte tra questi estremi diventa più complicato. Per esempio, i super-utenti/amministratori potrebbero avere accesso a scelte che sono abbastanza rischiose e influenzano l'intero sistema.
Abbiamo anche parole come Setting, e Option, che userei in modo intercambiabile (ma coerentemente all'interno di un contesto). Alcune applicazioni usano queste parole per menu e finestre di dialogo che sono le stesse delle Preferenze descritte sopra. Ma notate che queste possono essere usate al singolare ("controlla l'opzione etichettata MAI"). Quindi puoi scegliere di usarle per le cose più piccole come le singole caselle di controllo.
Le proprietà di solito si riferiscono a oggetti o elementi (per esempio le immagini nei programmi di grafica). Eviterei di usarlo per "proprietà dell'intera applicazione".
In sintesi, se dovessi progettare un sistema, userei Configurazione per le cose che impostiamo per l'utente/cliente durante l'installazione. Fornirei un menu Preferenze per ogni utente per fare la propria selezione riguardo alle cose superficiali. Il menu delle preferenze avrebbe un mucchio di Opzioni o Impostazioni. Se faccio clic destro su un oggetto, potrei ottenere un'opzione Proprietà per cambiare le caratteristiche di quell'oggetto.
Ma alla fine, TESTate la vostra terminologia insieme a tutto il resto che costruite. Industrie diverse potrebbero avere tradizioni molto specifiche riguardo a queste parole. Pensate in modo agile e rielaborate le cose che creano confusione.