What is the best way to group tens / hundreds of smaller inputs into a bigger output if speed of transaction is not important?
I'd use Coin Control to select the inputs you want, and send the entire amount with the lowest possible fee. Then make sure your wallet keeps broadcasting the transaction. See
my topic on consolidating small inputs.
Just in case, I'd keep the transaction under 10 kB. It might be easier to fit a block that way.