I did our 10 year old truck this winter. My fear was being TOO aggressive upfront and eating away unnecessarily at the heater core. Mine was not completely clogged. Better to progressively get more assertive. Don't start with drano or 6 hour hot pump sessions with straight CLR.
I had good luck with alternating between garden hose and compressed air in both directions. Then I poured CLR in using a funnel and let it sit for 15 minutes. Then thoroughly flushed with water and air before reconnecting. I didn't buy any fancy tools. I used a short segment of broken off garden hose and used a piece of 1/2" pex as a coupler to slide into one heater hose, then the other. Measurably greater heat output was the result. Greater than factory specification. Based on that I then (a month later) did a flush then citric acid clean of the entire system, multiple flushes, new water pump, new (better) coolant.
Starting out I had ~110 F degree register air (blower on full, engine at operating temp, 1000 RPM) with 35 degree outside ambient. After, it's more like 145 F.
To be clear, my core flowed water, so I do not believe either air hose or water hose produced significant pressure within the core. Yet, I believe some pressure (blasting the water out with compressed air) helped to break and clear any buildup.
I speculate that in general, 10 years is too much to ask of some of the modern miracle coolants. Incompatible coolant top-offs complicate this. Silicate fall-out complicates this. Nitrate-Borate-2EHA whatever complicates this. Controlled acid braising, etc. Better to be proactive. Easy DIY. If system hasn't been drained in 5 years (busted hose, radiator, water pump, etc) then it gets, at a minimum, a drain and fill. Not expensive. Not time consuming. Cars with unknown history get as much of a flush effort as I can manage.