Drain sauerkraut in a sieve, rinse under cold running water, and drain again.
Melt 1 tablespoon butter in a small pot over medium heat and cook apples until lightly softened, about 3 minutes. Add sugar and continue to cook until apple pieces start to brown on the edges and caramelize, 3 to 5 minutes. Add sauerkraut, wine, and bay leaf. Cover and simmer until flavors are well combined, about 10 minutes. Remove from heat and cool for 15 minutes. Discard bay leaf. Season with salt and pepper.
Unroll pork roast, pat dry with paper towels, and season with salt and pepper on both sides. Spoon the cooled apple-sauerkraut mixture in the middle of the roast. Roll the roast up and tie with kitchen twine.
Preheat oven to 350 degrees F (175 degrees C).
Heat oil in a skillet over medium-high heat and saute pork roast on all sides until browned, 2 to 3 minutes per side. Move pork roast into a lidded casserole dish.
Melt remaining 1 tablespoon butter in the same skillet and cook onions over medium heat until soft and translucent, about 8 minutes. Stir in water. Pour water and onions around the pork roast; cover with lid.
Bake pork roast in the preheated oven until an instant-read thermometer inserted into the center reads 145 degrees F (63 degrees C), basting with its juices a couple of times, 1 1/2 to 2 hours.
Remove pork roast from casserole dish, untie kitchen twine, and cover with 2 layers of aluminum foil. Allow to rest in a warm area for 10 minutes.
Pour juices from casserole dish into a small pot and puree with an immersion blender until smooth. Season with salt and pepper and serve with the roast.