We're repairing some water damage in our motorhome's headliner (stinkin' leaky skylight...) and purchasing pre-made headliner panels is pretty expensive after shipping/freight ($60 per panel + $150 minimum for freight).
We picked up some 1/8 inch luan plywood at our local home center for $11 per 4'x8' sheet and found a great source for 54" marine vinyl with 1/8" foam backing at $18 per yard.
Boat Parts & Accessories, Marine Boat Parts, Boat Accessories | Great Lakes Skipper has a huge selection and is happy to send you free sample swatches to match your headliner before you order.
To make our installation easier, we make a cardboard template of the panel shape, cut the plywood to the template, then used spray adhesive to stick the vinyl to the plywood. A quick trim with a fresh utility knife and we have a perfectly fit ceiling panel that looks like it's straight from the factory.
FYI, the Bayliner Corona Prx Gel White 1/8" foam-backed marine vinyl (stock # 1040059-5R872) is an absolutely perfect match for our off-white/light cream headliners in a 2008 Gulf Stream Yellowstone 40UL.