OK, since you liked my comments... :-)
1. Better performance. That's it.
2. Longer, but more handwaving, answer: proximal methods allow you to use a lot more information about the function at each iteration. Also, proximal gradient methods take into account a much larger neighborhood around the initial point, enabling longer steps.
3. Third, practical answer: you should not be implementing your own LASSO solver. There are too many good implementations out there. If you need to port one from one language to another, that's one thing, but to write one from scratch at this point makes no sense unless you have very specific problem structure you need to exploit.