Onsite solutions have many potential problems as well.
With onsite solutions, you are at the mercy of your IT guy assuming you have limited knowledge of computers and networking.
Many of the reported issues with IT can be boiled down to an improper network setup. Often times to cut on costs, cheaper hardware/computers are used instead of the more robust, enterprise hardware. I'm not saying you need to spend $1000 dollars on some Cisco Router, but that $30 Netgear router might have a little trouble when you have 5-10 computers bouncing data back and forth.
While WiFi is great and simple, it's just not designed for applications that require continuous access to the network and shared files. It's a pretty mature technology and the downsides are known. Connection drops, high latency, slower speeds. Going wired will cost you quite a bit but you'll have way less headaches down the line. Cisco Small Business switches are a good example of what you should be looking at for your office. Priced a little bit higher than consumer grade products but much less than the full enterprise products.
We always have the P2P vs Server debate, but having a good network trumps that issue. If I had to decide between P2P with a wired gigabit switch and server with a shoddy network (WiFi, daisy chained switches, etc.), I'd choose the P2P with wired gigabit network any day.
The issues with onsite are divided into 2 categories, hardware and software. Hardware failures are inevitable but can be mitigated by buying higher quality computers (e.g. Lenovo or Intel). These issues exist regardless of whether you use Cloud or onsite.
Now software is the one that irritates people the most. Be it viruses or whatever. These are also avoidable. I'm sure those of you that have used cloud services. You have access to a very very locked down version of the application you're trying to use. They're not trying to restrict your freedom intentionally, it's just less of headache for them so you can't mess something up. Giving users Administrator privileges allows them to install software, viruses, etc. They have the ability to mess things up. You can either train your staff to be responsible or lock down their workstations. The choice is yours.
If you have daily problems, you should probably hire a new IT guy, maybe get an IT Professional instead. Or maybe ask a colleague about their IT person. Make sure it's not someone who will nickel and dime you for every call. I.e. some of the people I support don't even know how to make a shortcut or choose the printer or browse to the database. I'm not gonna charge them to make a shortcut on their desktop for 2 minutes. But some will.
Things should more less run fluidly if things are setup properly from the beginning. Pretty much install it and don't mess with it. Replace hardware (at least the server) every 3-5 years even if they are working to avoid possible future down time. Dell and Lenovo have leasing options or you can make small monthly payments until the server is paid off.