I haven't played Ultra yet, but from regular Sun I have the following issues with these games:
Too many unskippable cutscenes, with too much dialogue that really bogs the game down, especially at the start. And even then, I still didn't find myself particularly caring about any of the characters much at all, so it was all worthless in the end.
The pacing of the plot in general is really weird, with virtually nothing happening on that front until the end of the 3rd Island, at which point the plot flies by in little more than a hour; it's just poorly spaced out, and that further reduces the impact of the plot.
The game is way too hand-holding on the first - and, to a lesser extent, second - island and, in general, there is very little scope for freedom or exploration in the Alola region. It just feels so small, and at times feels like you're on a perpetual guided safari rather than actually being free to explore anything.
Many Alolan Pokemon - other than Yungoos, Pikipek, Crabrawler and a couple of others - are way too hard to find and it makes it harder to use new Pokemon if you don't want to resort to Wonder Trade and GTS. For one example, I've spent at various points four or more hours in Lush Jungle, and I've still never seen a single Passimian; I stayed there for 2 hours after Mallow's trial to get one, but just had to give up eventually.
The new Fishing mechanics are terrible, and make it nigh-impossible to get anything that isn't Magikarp. And that's not just because you're lucky if you even get anything to bite half the time.
SOS battles were a terrible idea, much worse than Hordes for EV training/Shinies and vastly inferior to Dexnav in terms of Hidden Abilities and good IVs. If you don't have something that can inflict status conditions in your party at all times, it becomes infuriating trying to capture certain Pokemon (e.g. Magby), and when you actually want to trigger them it just doesn't seem to happen.
The Rotom Pokedex is extremely irritating and completely superfluous, especially because its presence seems to be a large part behind why they got rid of Player Search System, and why we got the utterly useless Festival Plaza in its place. Seriously, I now actually dislike Rotom when I used to really like it, and all because of how annoying it is as my Pokedex. No National Pokedex is also a cardinal sin, and frankly completely unacceptable and idiotic.
Speaking of Festival Plaza, it is truly an abomination that is utterly baffling to try to use, even if all you want to do is trade with someone. They vastly and needlessly overcomplicated what was an extremely simple system in Generation 6 for no real reason, other than to seemingly make room for the awful Rotom Pokedex.
Grinding in these games is horrible, as you can't rematch trainers and wild Pokemon don't even give good Exp anymore thanks to the return to Gen 5 Exp mechanics. This is made worse by the fact that, unlike Gen 5, there are no Audino you can grind against, and getting a Chansey to appear via SOS for the same purposes isn't the easiest task either. And the issue of grinding being so bad is made worse by the fact that you need your Pokemon to be Level 100 to be able to fix their IVs with Bottle Caps.
I get what they were going for with the Island Trials, but they felt hollow because of the limits to exploration in these games, and I just generally didn't enjoy them as much as gyms, but I do feel there is at least some potential in the concept (particularly the idea of Totem Pokemon, which I actually quite enjoyed the challenge of).
For the second generation running, we didn't even get 100 new Pokemon and, in fact, even though we got more Pokemon overall than Gen 6 (86 compared to 72, if you include the new ones introduced for USUM), we actually got fewer non-legendary/UB Pokemon this time around due to there being an absurd 23 legendaries/UBs. It also doesn't help that, in my opinion, the quality of the designs is significantly lower in Gen 7 than in Gen 6, with very few designs I find especially notable at all.
Also, Alolan forms are 90% terrible or pointless design-wise. Alolan Vulpix, Ninetales and Exeggutor make sense and are perfectly fine designs to me, but that's it. Alolan Sandshrew and Sandslash have explanations, but it's dumb for Pokemon with SAND in there names (at least over here) to become Ice types, rather than just designing new Ice types. Alolan Marowak is decent, but it's a tryhard design that doesn't really make sense, other than the Ghost typing being a Gen 1 reference. Alolan Raichu makes no sense whatsoever and is just blatant fanservice, while the rest are just insulting designs: Alolan Rattata and Raticate are so similar to the originals as to be redundant, Alolan Meowth is pointless and vastly inferior to the original, Alolan Persian is dumb and looks like it's been stung in the face by a bee, while Alolan Diglett and Dugtrio are even more lazy and insulting designs than those two Pokemon already are. Seriously, we got these rather than actual new Pokemon? Then there's the issue of how this is yet more blatant Gen 1 pandering in games that continue to pander to Gen 1 above all else way too much (I thought it was bad in Gen 6, but Gen 7 took it to another level): there's now six other regions GameFreak could use for nostalgia, yet time and time and time again it's Gen 1 above all others, and it's massively out of hand now.
I would comment on the difficulty of the Battle Tree, but I'm fairly new to actually building competitive teams for the Battle facilities so I'm not sure it's fair for me to do so.
On the whole, from all the main-series Pokemon games I've played, Sun was probably as bad as it's ever been, and I'm genuinely hoping to enjoy Ultra Moon more. These games do have some positives, so I'm just hoping those can shine through a little more and, if not, I can always just go back to previous generations instead until Gen 8 next year.