Remove all string from the roast and trim away excess fat. Place the chili powder in a bowl; blend in the oil, chili, pepper, cumin, coriander, paprika, allspice, salt and garlic to make a paste. Rub all over the pork, working the spice mixture into the meat well. Marinate for at least 30 minutes or overnight. Transfer the roast to a slow cooker.
Blend the ketchup with the vinegar, molasses and mustard. Pour mixture over the roast and cook on low for 8 to 10 hours or until very tender.
Transfer the roast to a large bowl; discard any visible fat. Use two forks to separate the meat into long strands. Remove 1 1/2 cups of the cooking juices and strain into a saucepan. Whisk in the cornstarch and bring to a boil. Cook, stirring, until thickened and bubbling. Return the shredded meat to the slow cooker; stir to combine with remaining cooking juices. Serve the meat on soft rolls; drizzle with thickened sauce mixture to taste.