Place the pork in a large bowl or baggie, along with all of the ingredients for the marinade. Massage the marinade into the pork and then chill for at least 8-10 hours and up to 48 hours.
Preheat the oven to 425 F. Remove the pork from the marinade and reserve the marinade. DO NOT CONSUME RAW MARINADE. Place the pork on a rack on baking sheet lined with foil. Bake at 425 F for 15 minutes then reduce the temperature and cook at 350 F for an additional 30 minutes per pound. (EDITOR'S NOTE: My 1.5 lb pork shoulder took 15 minutes + 50 minutes to reach 160 F in the center.)
Meanwhile, pour the marinade into a pot over high heat. Bring to a rapid bowl and then reduce the heat to a simmer. Simmer the sauce while the pork cooks - for at least 30 minutes - until the sauce is thickened. When pork is finished, remove from the heat to cool.
When the pork reaches 160 F in the middle, remove from the oven and let rest for at least 20-30 minutes. It's important to rest the meat for full flavor.
While the pork is resting, preheat a flat iron griddle/pannini press. Slice the pork into thin 1/2 inch thick slices. When the griddle is hot, sear the ham and pork slices until heated through then remove from the grill.
Slice the bread in half down the center. Assemble the sandwich with ham, pork, Swiss cheese, pickles and mustard on the top loaf.
Brush the melted butter down the top of the sandwich as well as on the grill. Place the sandwich on the grill and press down the top. Cook for 8-12 minutes, until the cheese is melted and the crust is golden brown.
Serve with the cooled mojo sauce and Yuca fries on the side. Enjoy!