We've always got round this by making our carriages roofs as a composite structure with a flat ceiling at the bottom with ribs running along the length to help it keep its shape.
Then I fix a skin of styrene sheet over the top, gluing it along one edge first before rolling it over on it's back, forcing the styrene to bend to shape, and holding it down while the solvent cures on the opposite side.
As you can image, styrene sheet puts up quite a fight and doesn't give in to being forced into a curve like this, and I've recently been experimenting with ways to pre-curve it by heat treating it.
The ingredients for my most recent technique are a wooden rolling pin, lots of elastic bands and wooden stirrers.
The stirrers are the breakthrough here.
Without them the styrene bulges up in between the elastic bands, giving you a very lumpy profile.
The stirrers keeps it flat along both sides.
All you have to do is truss it up like I have in the picture and pass it through the steam from a boiling kettle for a few seconds, before letting it cool and removing the bands and sticks.
Although the styrene still does not match the radius of the carriage roof I'm confident there will be a lot less resistance when I come to fit it onto the ceiling frame.