(.Net) sugerencias para hacer un archivo de configuración para un programa?

No me refiero necesariamente a app.configs, sino a un archivo de configuración personalizado que almacenaría el estado de mi programa cada vez que un usuario presione el botón "Guardar".

En mi ejemplo, es un generador de IU que permite al usuario elegir qué "campos" se mostrarán en las columnas izquierda y derecha en una pantalla de dos columnas, junto con el orden de los campos en cada columna. También hay otras cosas, pero entiendes la idea.

El usuario podría abrir cualquier archivo de configuración que haya guardado y rellenar adecuadamente el generador de IU.

Estoy pensando que esto podría almacenarse en un archivo XML, pero me preguntaba qué tipo de sugerencias tendrían las personas sobre cómo escribirlo, cómo leerlo (¿usar LINQ tal vez?) Y otros enfoques generales, como el control de versiones, etc. Estoy seguro de que esto ha surgido antes y me gustaría conocer las mejores prácticas. ¡Gracias!

Respuestas a la pregunta(2)

Su respuesta a la pregunta