My favourite is the ZIP format. Because:
- It is very well sutied for the purpose
- It is well documented
- There a a lot of implementations available for creating or reading them
- A user can easily extract single files, change them and put them back in the archive
- Almost every major Operating System (Windows, Mac and most linux) have a ZIP program built in
The alternatives all have some flaw:
- With MHTMl, you can not easily edit.
- With data URI's, I don't know how difficult the implementation would be. (With ZIP, even I could do it in PHP, 3 years ago...)
- The option to store things as seperate files just has far too many things that could go wrong and mess up your archive.