You probably need to get a new battery pack. Your current one is likely at the end of its life.
My guess is that your battery is just old and has reached the end of its useful lifetime. The fully-charged capacity, and by extension flight time, of all batteries decreases over time when charged and discharged repeatedly. This process is sped along by pulling large amounts of current from the battery like what is sometimes necessary for multirotor flight.
Your description of the slow charge rate after the battery reaches ~12V points to the battery being degraded. At 12V, a 3S battery pack is sitting at ~4.0V/cell. This means that the charger has likely entered the balance charging phase where it tries to equalize the voltage of all 3 cells in the pack and slowly bring them up to 4.2V/cell.
Well-worn batteries will take longer in the balance charging phase because the internal resistances of each cell in the pack (which generally increases during the battery's lifetime at different rates for each cell in the pack) are different, resulting in more energy and time that must be used to fully balance the pack.
Tips for Increasing the Lifetime of a LiPo Battery
Although you mentioned that you're not really on a tight budget, you're probably interested in how you can make your next battery packs last longer. Here are some of the more common things that cause wear:
Sustained and peak current draw:
It's generally an excellent idea to avoid drawing excessive amounts of current from a battery. Full throttle punches are fun and sound amazing, but do contribute to accelerating the degradation of the battery, so maybe don't do them as often. :)
Charging beyond 4.2V/cell:
LiPo batteries shouldn't be charged beyond their full capacity of 4.20V/cell. Aside from increasing the risk of spontaneous combustion, the increased cell voltage puts extra strain on the internals of the battery, which accelerates battery degradation. It's true that some specific variants of LiPo have higher full-capacity voltages, like LiHv with ~4.25V/cell, but the vast majority of LiPo cells shouldn't be charged beyond 4.20V/cell.
Not storing packs at ~1/2 capacity (~3.7-2.8V/cell) for extended periods of time:
Much like how over-charging LiPo batteries beyond their full charge level increases the internal strain on the pack, the same is true to a lesser extent for lower cell voltages over a long period of time. It's generally accepted that storing LiPo batteries at ~1/2 capacity, which translates to ~3.7-3.8V/cell, is safe and is a happy medium for minimizing battery degradation over a long period. If you plan on not flying your batteries for more than a few days, it's a good idea to run what's often called a "storage charge program" on your balance charger to charge/discharge your battery to ~3.7-3.8V/cell. Then recharge your batteries back to full as soon as is practical before flying.
Draining a pack too far:
For normal use, permanent damage is caused to the battery if any of the cells drop below 3.0V/cell. Although as I mentioned previously, multirotors demand a lot from our batteries, so it's important that we try to keep the average cell voltage above ~3.4-3.6V during flight. This is because LiPo battery cell voltages drop off quite quickly below ~3.6V/cell, and so it's important to keep some margin to prevent any of the cell voltages from momentarily dipping below 3.0V before we can get the chance to land safely.