Frame is OK, internal routing of the gear cables can be an issue over time.
Just serviced a carbon fibre one with a SRAM groupset and it came with coated cable inners, which had frayed with wear and ended up gumming up the sleeve that it runs in.
Front mech cable routes out of the down-tube just ahead of the bottom bracket, via a sleeve and a metal ferrule that is bonded into the down-tube. This ferrule had corroded and expanded such that it had “burst” the carbon fibre surrounding it, as well as crushing the sleeve that the inner cable was running in. I ended up having to cut out the ferrule to access the cable sleeve and replace the inner.
Rear mech cable routes through the down-tube and drive side chain-stay and doesn’t appear to run in a sleeve, as well as the frame having a bottom bracket shell with no cut-outs to simplify cable access. To replace the rear mech inner, I would usually fit a sleeve over the existing inner, pull out the old inner and then fit the new one through the sleeve. In this case, irrespective of whether I tried to feed the sleeve from either the chain-stay or the down-tube, the sleeve fouled when trying to pass it around the bottom bracket shell. I ended up having to feed the new cable “blind” and after a considerable time I managed to get it past the bottom bracket shell. Whilst the new cable works, it’s got more drag than I’d like.