Cut pork loin roast into large bite sized pieces. Salt and pepper to taste.Heat a large skillet over medium high heat. Add oil. When oil is hot, add pork pieces and brown on two sides. Cook in batches as not to crowd the pork. The pork will brown better.
Remove pork to a plate.
Heat a Dutch oven over medium heat. Add butter. Once butter bubbles and bubbles start to subside, add onions. Cook onions, stirring, until just starting to soften, about 5 minutes. Add garlic and saute until fragrant. About 1 minute.
Add flour and cook, stirring constantly for two minutes. Add chile powder, chicken broth and cook stirring, until gravy starts to thicken. Add cumin, coriander and oregano. Cook for 1 minutes for flavors to blend.
Remove from heat and add browned pork.
Stir well, cover and place in refrigerator to marinade overnight. Or for at least 2 - 3 hours before cooking.
Heat oven to 350 degrees.
Cook 2 - 2 1/2 hours or until pork is tender.
Remove pork from oven and stir in molasses and vinegar.
Place the lid back on the pot and let it steep for about 15 minutes.
Serve with lime wedges. Serve with rice, hominy or beans, flour tortillas or all. You can also top with a dollop of Sour Cream and some fresh diced sweet onions.