you seem pretty adamant that its a roof wireing fault , so lets go to basics . when sat in car look at grab handles, interior light units , sunvisors and around the sunroof and check if anything looks as if its been disturbed, scratch marks around plastics little divots out etc it may be as simple as a trapped wire, or even as said internittent short. failing that if it was me and you ruled out everything then try and find the wiring harness that goes to the roof and check it along the length.
a post pillar trim , removal till you find the side and then trace it. have had harnesses trapped where they exit the corner of the dash to go up the pillar.
on my mondeo the roof wiring goes up the passenger side a pillar under the trim with the roof aerial and sat nav wiring had to pack the edge of the dash with a piece of foam as looked likley to chafe.
may even be somthing simple like a wire pulled slightly out of a connector , im afraid as sherlock says , rule out the obvious and whatever is left , however inplausible could be the answer.