They're also receiving telemetry and sensor data from each drone, I think, and aboard their ships, additional sensor data from non-organic devices (i.e. not in a drone) that are embedded throughout the ship.
That constant input of telemetry and sensor data would allow for adaptation without having to physically retrieve any items. After all, a drone could literally see
the frequency of the beam that killed him, and that data would be immediately transmitted to the rest of the Collective. All of this would happen within fractions of seconds. It would be a simple program to write, actually. Every incoming beam has its frequency measured. Any incoming beam immediately followed by the termination of that drone then has that frequency immediately transmitted out to the Collective for adaptation. With their level of processing power, it would be quite simple to do.
Think of projects like SETI@home and Folding@home for a model of the Borg Collective and you can see how such massive programs could be executed in a decentralized manner...though of course the Borg are doing MUCH better than dialup and broadband and presumably have far, far less data loss with each drone's inbound and outbound transmissions.