I think 3 weeks in one place would get a bit boring though
That's the key, not where you go. You could tour round Spain by high speed train and spend a few days in each of several cities and easily fill three weeks, and more, without going anywhere near a beach, pool, English breakfast or beer served in a pint glass.
On the contrary, there will be plenty of people who visit 'worthy' places like Thailand or India and spend most of the time on the beach, or at the buffet in the hotel, with maybe only a token excursion or two to historical sites.
I wouldn't want to go away for three weeks because that's too long for me. I'd rather use the time and money to have two holidays at different times of year, so there's more opportunity for something to look forward to. But that's me, we're all different.
Or you could do what another poster suggests and, if you're set on three weeks in Mallorca, have a week in Palma and then two weeks over in Puerto Pollensa.
Plenty to do in the city and west side of the island incl Puerto Andrax, Camp de Mar, Paguera, Cala Fornells, and of course Soller/Puerto Soller. A nice combination of interesting things to see/do, combined with relaxation plus the added advantage of these places being better connected to Palma and you can go on the tourist train through the mountains from Palma to Soller.