Figure I'd help eliminate some confusion if people are still having issues with this. I'm a pretty visual guy when it comes to instructions so here is an example.
Here is how the folder for a custom mod should look like before zip file or you can VPK it whatever works.
You then need to zip all 3 of those folders into one folder. This can be done by selecting all 3 and send to (compressed zip folder)
Then rename the zip folder to whatever you wish.
Here is where I think some users are getting confused. Double click your zip folder and check the contents. If it looks like this then it won't work.
Notice how Bott said that the materials/models/sound folder needs to be in the root. Here is what it should look like.
Just follow the instructions after that and your custom should work fine. Also I mean no offense I get it that some people don't understand what a "root" folder is. I just found this was the issue my friends were running into.