I agree with you, in case you are building a custom program, but not only for the overhead, XIF adapters sometimes doens't work properlyl and is a pain, one example is with the one order object. If you enhance ORDERADM_I with an AET table extension, the XIF interface gets also enhanced, but doesn't work, beacuse some bug or Poltergeist during the mapping between XIF and the API ...I have raised a message for this 1 month ago and I'm still waiting...Otherwise, no problem with the classical CRM_ORDER_MAINTAIN.
If the amount of columns which do you want to update is not very high and can be easy mapped to the LSWM IDoc format I would rather go to XIF+LSMW+SXDA and run the data transfer in paralel, only a small amount of code will be needed in the LSMW part and you can take advantage of all the processing capabilities of SXDA.