For the marinade, Combine all the ingredients in a bowl then whisk to blend well. Cut the beef into large chunks. Add the beef to the marinade making sure every piece is evenly coated. Cover and refrigerate overnight.
Remove meat from marinade, drain thoroughly and pat meat dry with a paper towel.
In a Dutch oven, heat a few tablespoons of oil over medium-high heat until very hot.
Sear the beef a few pieces at a time to develop a rich brown color on all sides. Do this in several batches if the pot is too crowded.
When all the beef is browned remove it from the pan. Turn down the heat to medium and add the onions, and peppers to the hot pan. Saute for a few minutes then add the garlic. Cook until garlic is fragrant. About 1 minute.
Stir in the remaining ingredients, then add the beef.
Bring to a boil, scraping the browned bits off the bottom of the pan. Reduce heat to low, cover and simmer slowly for about 2 hours. Turn the meat after one hour of cooking.
The meat should be very tender and should easily fall apart when pricked with a fork. Remove from heat, remove meat to a cutting board and shred with a pair of forks.
Return beef to the pot and bring to a simmer, uncovered for about 10 minutes. At this point, adjust the seasoning with salt and pepper and any additional chile powder for more heat.
Finish by stirring in the vinegar.