Heat the oil in a 12-inch skillet over medium heat. When hot, add the onion and chili powder. Reduce the heat to medium-low, cover, and cook, stirring occasionally, until the onions are tender, about 10 minutes.
Add the tomato sauce, ketchup, Worcestershire, sugar, and vinegar, and simmer until the sauce thickens slightly, 7 to 10 minutes. Add the turkey and cook, breaking up the meat with a spoon, until cooked through, about 5 minutes. Season with salt and pepper to taste. Divide mixture among the hamburger buns and serve.