If you put it on yourself, shingles will be cheaper, No labor costs If you have to hire someone, steel will be cheaper because it goes on faster. BUT, you have to find someone who knows how to put on a steel roof and who won't take any short cuts. You need to educate yourself in how it should be done. The house I purchased had just had a new roof put on when I bought it. Trouble is the contractor who put it on didn't know how to do it.
1" strapping over 2 or 3 layers is not the way to do it. If you have large moldings on a real old house like mine, take the molding off so the sheet metal trim can be nailed to the fascia board and not the molding. Personally I would remove all the old shingles lay down 5/8" plywood NOT OSB and the screws you use when screwing it to the plywood are different, shorter and fatter.