I think in many ways, it makes sense to be TfW, given that with the extensions, it is extensively in Wales. On top of that, it shares the same route with North to South Wales trains as far as Shrewsbury, so it would be quite awkward to have those services operated entirely separately by different companies, In many ways though while extensions to Swansea do make perfect sense, it is a case where some of the extensions to Milford do probably make the service much longer than it needs to be, but when it is operating a service largely for welsh people, then any welsh nationalist will easily argue that it should remain TfW instead of transferring, which would create new difficulties. Currently, the stock can be easily shared, even interun (E.G. An arrival to Cardiff from Manchester can then become a Holyhead train, or vice versa) I suppose if they needed to, and a transfer would end that ability immediately.
Obviously in a scenario where say if the Marches line had been shut down by Beeching, and Cardiff to Manchester trains were needed and had to run via Birmkngham, then in that scenario CrossCountry would have been the perfect operator.
With those people talking about Welsh train announcements, that is absolutely correct in England. Either they should swap order to English then Welsh in England, or the welsh announcements should be cut out completely in England, but the former idea would anger fewer welsh nationalists. The only thing is that while if there is one swap over on Cardiff to Manchester trains its not too bad, if its on North to South Wales services through England, to which the principle would apply, it might end up sounding messy and inconsistent, given it crosses the border a total of 4 times (North Wales Coast, Chester in England, Wrexham in Wales, Shrewsbury and Hereford in England, then finally Abergavenny, Newport and Cardiff in South Wales), which from a consistency perspective makes a uniform (Welsh then English) order easier to program into the train.