In a bowl, whisk together all of the ingredients except salt, pepper and the pork. Whisk in 1 teaspoon each of salt and pepper. Transfer the marinade to a large resealable plastic bag and add the pork in a baking dish and refrigerate overnight.
Preheat grill to 200 degrees F. Transfer the pork to grill in indirect heat for 5-6 hours. Turn every 90 minutes and baste with leftover marinade.
Remove from grill when instant-read thermometer inserted in the center measures 160 degrees; transfer to cutting board and let rest for 30 minutes. Cut across the grain to serve.
Build the sandwich
Heat a large cast-iron griddle or panini press. Add the ham slices to the griddle and cook over moderate heat, turning once, until browned in spots, about 1 minute. Transfer the ham to a plate.
Generously butter the cut sides of each baguette and toast on the griddle over moderate heat until lightly browned, 1 to 2 minutes. Transfer the baguettes to a work surface and generously brush the cut sides with mustard. Layer the ham, pork, Swiss cheese and pickles on the baguette and close the sandwiches.
Generously brush the outside of the sandwiches with butter and set them on the griddle or press; if using a griddle, top the sandwiches with a large baking sheet and weigh it down with heavy cans or a cast-iron skillet. Cook the sandwiches over moderate heat until they’re browned and crisp on the outside and the cheese is melted, 3 minutes per side on a griddle or 3 minutes total in a press.