Are you only buying fish from one place? It could be something you are doing but it doesn't make a lot of sense that your inverts are doing okay but not your fish...
Frankly, I've found that the wholesaler a dealer buys from can make a big difference. The closest LFS to me is who I deal with most. I have stopped buying fish from them. Every fish I buy from them dies. Inverts and corals, no problem. Dry goods, no problem. I suspect the wholesaler they buy from ends up with lots of cyanided fish.
What I'd do first, short of tearing down your tank, is an experiment. You should be doing this anyway, but obviously you are not, so now's a great time to start.
Set up a quarantine tank. Start with an empty 10 gallon aquarium and a small filter like a sponge filter, internal power filter, HOB filter, etc. Make sure all filter media is completely new, and all equipment is either new or completely dry (bacteria, pathogens, etc can't survive drying out). Put nothing at all in the tank,.. no substrate, decorations, etc. Also get yourself a bottle of Seachem Prime.
Either fill the tank halfway or so with purchased seawater or mix some yourself, using RODI water and either new buckets or a completely dry bucket that has never been used for anything except aquarium use. Make sure you age your mixed seawater at least 24 hours.
What you now have is a completely separate environment that has no chance of being exposed to your display tank conditions.
Buy a cheap fish from the LFS. Try a Damsel or a clown, etc but be sure it's something that you tried buying before that has died. Keep it in the QT for at least 6 weeks, adding a half capful of prime every few days to keep ammonia from building up, and changing water every week using seawater as described above.
If the fish lives for 6 weeks, put it in your DT. If he dies then, you know it's your system. If he dies in the QT, you can be pretty certain it's your LFS.