There are many ways to properly ventilate a bathroom exhaust fan, and plenty of options available to run the exhaust through a shingle roof or directly through a wall. However, I rarely see one installed through an exposed-fastener metal roof, so I have had to devise a way to do this efficiently.
For a bathroom on the interior of a floor plan, running the duct through the attic and out the roof is often the most direct, if not the only, option. While a gable-end wall may sometimes be an option, we have had customers balk at this when it was practical. More often, it is not practical. For a typical 50-cfm bath fan, code limits the length of 4-inch exhaust ducts to a straight run of 56 feet or the equivalent. The termination equals 30 feet, and each 90-degree elbow is equal to 15 feet, so you’re often not left with very much distance. This is the reason I typically opt to go out the roof, and since many of the homes we work on have exposed-fastener metal roofing, this method has proven to work time and time again for us. The following photos and captions explain how we do it.