Should I charge rush fees?
Probably, depending on your market. In my market, it's a must. I charge rush fees on a sliding scale, like UPS or FedEx (i.e. the less time I have to work on the project, the higher the rush fee). Don’t think of these fees as penalties, but as a tool that allows you to take on the work instead of saying no. They cover real expenses, as well as the added risk of taking on rush work.
Our rush fees cover overtime, expediting of garments and other materials, and the fact that disrupting our production flow causes every non-rush job in our queue to get at least a little more expensive to produce. But they are higher than what would cover just those costs, because rush orders are risky.
I spread this risk over multiple rush orders the same way insurance policies spread the risk over a big population. For example, we took a next-day direct-to-garment rush order on a shirt that we don't keep in stock. I charged a $30 rush fee. I ordered the blank, and it arrived the next day, but we had a misprint on the shirt, which is more likely to happen when you're rushing. In order to get a replacement shirt, I had to pay a courier $50 to run across town and pick up this single blank replacement shirt. I lost $20 on that job, but I charge that kind of rush fee on next-day orders frequently. So, I made the $20 back on similar rush orders that didn't need that expensive courier service.
That's why my rush fees are always higher than they strictly need to be for each order. I pool the risk for the infrequent (but inevitable) rush order-related scrambles that cost me a ton.