I've been trying to find an answer to this question myself, and I can report a partial success: p7zip, while not maxing out all cores, seems to make quite a bit of use of more than one, at least while compressing. On my dual-core system, it just about maxes out both cores, and on a family member's quad-core, it maxes out one core and runs the other three at about half load, varying between 30% and 80% or so. Extraction seems not to be multi-threaded at all, though, as it maxes out one core and the rest idle along.
I've tried installing various of the multi-core capable compressors and creating links to them from /usr/bin, but file roller ignored them. All I could find in my research is a hint on some german forum (if the goog's translation is accurate) that there are apparently hard-coded paths in the file-roller source, so it was suggested to replace the original binaries in /bin with links to the (theoretically command-line-compatible) multi-core replacements like pigz, but I haven't felt daring enough to try that yet myself.