Quien te dijo que es mejor usar siempre arreglos de char que strings? es incorrecto, depende el caso y depende para que.
Bueno, el tipo char es estándar, string no, supongo que para futuras plataformas simples y programación a nivel de sistema sería mejor usar arrays de char, no sé, eso pienso yo, quiza me equivoco :S
Si, te equivocas, mas considerando que que uno de los miembros de la clase string es
c_str.
Los arreglos de char se usan por costumbre, por compatibilidad con las APIs, por ser lo unico que se sabe usar, y anda a saber por cuantos otros motivos. Eso no los hace mejor.
Si tenes ganas, lee
estoSaludos