Cuando comencé a desarrollar aplicaciones configurables en .NET, guardaba todo en appSettings. Más tarde, evolucioné y creé clases para guardar las configuraciones y descubrí que la forma más simple de cargarlas desde un archivo era usando serialización XML. El problema de este método es que se necesita un archivo distinto al .config normal (Web.config en el caso de ASP.NET y programa.exe.config en el caso de aplicaciones de consola o desktop).
En algún punto ya fue necesario incorporar todo en el archivo .config normal, por lo tanto, aprendí a escribir las clases que heredan de ConfigurationSection, ConfigurationElement, etc. Este método permite crear archivos de configuración muy limpios y ordenados, pero es muy tedioso escribir las clases C# a las cuales se mapea el archivo de configuración. Definitivamente, debía existir una manera más simple de generar estas clases.
Hace algunos días descubrí SCDL, una pequeña herramienta que permite generar las clases entregándole un archivo simple de muestra.
¡Nunca más escribas código que puede ser generado! :)