Don't know what a "payment cycle" means in your particular business, but Marketo is perfectly capable of syncing lead fields synchronously — that is, not a background/asynchronous import but one that is guaranteed to be complete as soon as the call is complete — for up to 300 leads in one call.
A bulk import, which is limited only by the file size (not technically the number of leads) and can do thousands at a time, runs asynchronously: it isn't complete when the API call is complete, because it was to wait in a queue for there to be an available slot (only 2 imports run at a time). But several hours is not a reasonable delay. The only reason that would happen is if there are hundreds of other imports already queued.
So it's overwhelmingly likely that the middleware is sending data piecemeal/suboptimally.