There are extension methods named WriteToDirectory on IArchive and IArchiveEntry. They do skip over directory entries because I chose not to make empty directories.
https://github.com/adamhathcock/sharpcompress/blob/master/SharpCompress/Archive/IArchive.Extensions.cs
https://github.com/adamhathcock/sharpcompress/blob/master/SharpCompress/Archive/IArchiveEntry.Extensions.cs
https://github.com/adamhathcock/sharpcompress/blob/master/SharpCompress/Archive/IArchive.Extensions.cs
https://github.com/adamhathcock/sharpcompress/blob/master/SharpCompress/Archive/IArchiveEntry.Extensions.cs