Why do we swim up some water currents faster than other?
Solution 1:
Water in Minecraft is... odd. Physics often don't make sense.
The most common answer is that some water actually flows down, whereas some is composed of water source blocks, which doesn't actually flow even though it may look like it's flowing downwards. Swimming up source blocks is much faster than swimming up a downward stream.
Another thing that can affect speed is if there are any air pockets created by objects like signs or ladder. This is because you get a small speed boost when exiting the water upwards, so entering these air pockets will actually increase your speed.
Solution 2:
In Minecraft, there are two types of "water blocks". The first kind is what you get when you place a bucket of water down; these are known as "source blocks". However, water can also flow (or fall) from a source block. These flowing blocks have different characteristics from source blocks. While the player can swim upwards fairly easily through source blocks, you swim upwards quite slowly through a downwards flowing stream. What's happening when you swim slowly is that there are source blocks at the top, and a downwards flowing current below that, formed by source blocks above. You swim slowly through the downwards stream, but quickly through the source blocks.