Dle mého názoru se XML daleko lépe čte, a když si UI rozdělíte ještě na samostatné bloky, které pak poskládáte přes include a používáte styly, tak je rozhodně pohodlnější takové UI udržovat.
Když chci custom kontrolku, udělám si stejně layout v XML, a pak to kódem jenom oživím, aby měla to správné chování.
Pak se to dá opět vložit do XML layoutu a funguje to opravdu dobře a přehledně:
<com.mypackage.MyCustomControl android:id=...
...
/>
Samozřejmě můžu nějaké věci generovat dynamicky, ale i tam si můžu například položku inflatnout z XML, naplnit daty a přidat kódem do UI.
Lahkost citania XML vs kod je vzdy len o tom ako je to napisane. Ked dostanete na refactoring kod po nejakom prasati, tak vam nepomoze nic. A verte, ze som videl xml pre android, ktore bolo takze, ze v prvom momentne ma to rozlutostilo tak, ze sa mi slzy nahrnuli do oci :) ... na druhej strane videl som zrovna tak pekne napisane UI v kode ...