On average, 2-3 drops a day for anything connected seems feasible to me [as long as it’s not your Mega rebooting]. There’s just too many factors you can’t control to eliminate them completely.
But… If I am reading your sketch correctly and you have 5 DHT’s that are read every 10 seconds “together”? I think the consensus among Blynkers are that they should be read with an interval equal to or greater than 5 seconds per sensor. @Gunner, @PeteKnight, do we have a consensus?
I don’t know which is the best, but the ENC28J60 have never been good . Old components and a very heavy library!
I’m using the W5100 shield for my “long running” Blynk project and it haven’t failed yet (AFAIK).
But some of us favors cable!