Heat the oil in a large skillet over medium heat until shimmering, about 2 minutes. Add the onion and cook, stirring occasionally, until softened, about 4 minutes. Add the garlic, chili powder, cumin, coriander, oregano, cayenne and salt; cook, stirring constantly, until fragrant, about 1 minute.
Add the beef and cook, breaking up the meat with a wooden spoon, until the beef is no longer pink, about 5 minutes. Add the tomato sauce, chicken broth, vinegar and brown sugar, and bring to a simmer. Reduce the heat to medium-low and simmer, uncovered, stirring frequently, until the liquid has reduced and thickened (the mixture should not be completely dry), about 10 minutes. Season with salt and pepper to taste.
Assemble hard or soft tacos as you'd like, with toppings such as shredded cheese, shredded lettuce, guacamole, sour cream, cilantro, etc. Leftover taco meat can be stored in an airtight container in the refrigerator for up to 4 days.