When I have had to sweep wallets in the past, I would do it in chunks. Send the vast majority of it in one massive chunk of about 95% of the balance. Send another small chunk of 95% of the remaining amount, and then try to peg the last bit to within a couple sats left in the wallet and call it good.