Zazzle is an excellent service when it comes to custom t-shirt printing. I have a store of my own through Zazzle as well as ordering t-shirts for myself.
You can add your own text, your own images, tile your design, and so many more customizations. They have 87 different styles of t-shirts for men, women, and children, including hoodies, sweatshirts, burnout tees, long sleeve shirts, and V-neck shirts. Each have multiple colors available. Your customers will have so many choices that if they like your design they can make it to their preference.
There are plenty of machines you can buy. The ones I've seen range from about $500 to $5,000. They all use silk screening.
If you're just printing a few, there are sheets you can run through an inkjet printer that'll transfer the image onto a T-shirt. I have my suspicions about durability and quality, but that'd be a lot cheaper than what you're spending.
The problem with silkscreening is that there's a lot of upfront effort and cost that goes into creating the screens. That's why you typically see a minimum quantity for shirts, and why the price per shirt drops radically the more you buy. You really wouldn't want to go through all that effort just to print a single shirt a week.
There are plenty of videos online showing how it works. You basically make a separate screen for each color you want to use in your shirt. Then (on the lower end models) you position the screen in its holder over the shirt, lower it, and squeegee the ink onto the shirt. You raise the screen, put in the screen for the second color, and repeat the process.
Hope that helps.