By the time I've reached the End I'm long past the point of needing XP farms and have never seen the need for one even before; I make all my "end-game" gear before going to the End (even though I don't use it until later), mining Nether quartz to get most of the XP that I need (as well as something other than stone-based blocks to build my base with) and afterwards I gain over 5000 XP per play session while caving for fun, which gives me all the XP I need to maintain my gear and much more, even with as much XP as I need to spend, especially in my modded worlds (where items cost up to 49 levels to repair in the anvil). In particular, the last time I played I gained over 7000 XP (including from smelting a dozen stacks of iron and gold I'd collected the day before, though this only added around 600 XP).
Also, it isn't that hard to reach level 30 in an hour without farms; I can mine upwards of 1000 quartz per hour, which yields enough XP (3500) to reach level 30 11-12 times over (in 1.8 or later, starting from level 27 and enchanting when you hit 30, which requires 306 XP. I play in 1.6.4, or a modded version with the same enchantment mechanics, so I can only reach level 30 about 4 times per hour (spending all 30 levels or 825 XP); that said, I generally don't enchant at level 30, mostly enchanting books at 22-23, which still costs more XP than a full level 30 enchant in 1.8+ but I can enchant about 6-7 times per hour). The rate may decrease over time as I deplete readily accessible local deposits but the long-term sustainability isn't a factor as I have no further need once I'm done (I've even deleted the Nether and End to reduce the size of backups), and once I have all the enchantments I need I only have to carry an anvil with me so I can put them on my gear (instead of walking back to my enchantment setup).
Of course, the most valuable enchantment of all, Mending, can't be obtained by enchanting so you'll need some other way to get it (I get it from trading with villagers, the only source aside from chest loot in TMCW; in vanilla 1.6.4 I can simply rename an item to keep the cost down).
A regular grinder built in the sky can easily provide all the xp one may need - along with other useful drops like gunpowder, bones, string etc. In fact my grinder has 3 block spacing and is built so that when platforms flood, kill chamber is the only valid enderman destination - so I get plenty of pearls from it.
And yeah, typically by the time I can build stuff in the End, I am past the need for XP.
There's an enderman farm on the server I play on, and it is worth every diamond it costs for a year's use. It's the best. 10/10, and from now on, any vanilla singleplayer worlds I have are probably going to end up with one of these.