Rinse pork and put in a large pot. Add onions, carrots, celery, garlic, cumin, oregano, orange juice, lime juice, and enough chicken broth just to cover meat. Bring to a boil over high heat, then cover pan, reduce heat, and simmer until pork is very tender when pierced, 3 to 3 1/2 hours.
Preheat oven to 425°. Transfer pork to a large baking pan and pull off string. Bake until beginning to brown, about 10 minutes. With two large forks, break meat into large chunks. Continue to bake until richly browned, 10 to 12 minutes longer. Remove from oven and cover loosely with foil.
Meanwhile, pour braising liquid and vegetables into a strainer set over a large, deep frying pan, pressing on vegetables with the back of a spoon to extract as much juice as possible; discard vegetables. Skim off and discard any fat from juices. Boil over high heat until reduced to about 4 cups, 30 to 40 minutes. Stir in vinegar and 1 tsp. each salt and pepper.
With forks, tear pork into large shreds, discarding any large chunks of fat and the bone. Add meat to reduced braising liquid and stir gently over medium heat until very hot, about 5 minutes. Add more salt and pepper to taste. Spoon pulled pork into a large bowl and serve with sandwich rolls alongside, or fill sandwich rolls and arrange them on a platter.
Note: Nutritional analysis is per sandwich.