Wow. Your team is eerily similar to my team.
I also own RG3, Luck, Foster, Gore, Cruz, and Garcon. Needless to say, I think you have a pretty good team there.
In answer to your question, you usually don't want to carry 3 TEs because you only start one, whereas you need a lot of depth at RB and WR because you start 2. This is even more true if you have to start a 3rd WR or a RB/WR flex, but a little less true if you can flex a TE (although ideally you want to flex RBs or WRs). So you should consider your format.
I do think it might sometimes be a good move to pick up a third TE if you have a need at TE (due to inury or performance) and if the player you are dropping is worth much less than the one you are picking up. You can always drop the worst one later, or even better you might be able to trade one if they are all doing well.
In your case I could see dropping Daryl Richardson to pick up Hernandez. I would not drop anybody else on that team though. I mostly say this because the difference in value between D Richardson and Hernandez seems pretty big to me, whereas the rest of your team seems like guys you want to keep (maybe not Lafell, except you need 4 WR with Garcon hurt).
Others may disagree, as I said you usually don't carry 3 TEs, but in some cases I can see doing it. I am actually carrying 3 TEs right now because my other two were such disappointments (but not yet ready to be released) and somebody I really like got waived. As with any other move you have to consider the costs and benefits. In your case I think the benefit of stashing Hernandez on your roster is worth the cost of your worst player.
QB: R Griffin III, A Luck
RB: A Foster, F Gore, T Richardson, K Hunter, M Hardesty, A Green
WR: V Cruz, M Austin, P Garcon, S Moss, B Hartline
TE: J Witten
K: Matt Bryant