Each address has it's own key... so, logically, if you have coins spread across multiple address, you're going to need to get multiple keys. (NOTE: Instead of using 'dumpprivkey' multiple times to get each private key, you can use the 'dumpwallet' command to just dump the whole wallet out to a file).
PROS: Free! Maintains privacy (none of the addresses will be linked)
CONS: Time consuming, messy, possibility of missing a key/address
Or... as Spendulus has suggested, just send ALL the coins in that wallet to a new address in that wallet, and just export that one key for the new address.
PROS: Just one key to rule them all!
CONS: Will cost a transaction fee... which could get large dependent on how many UTXOs you're trying to consolidate, plus you have to wait for confirmation... possible privacy implications