Hi,
Diving in currents is best done with their aid, rather than against them. I live on a ocean bay that is quite deep, about 15kms. One of my favorite style of dives is drift diving. Typically I'll walk up the beach in the opposite direction to the tide flow for a mile or so, this distance depends on the current and the length of time that I plan to be in the water. Then you get in and swim out to the depth that you want to dive, and let the current take you diving merrily down the stream.
I usually dive with a float, and this is very handy for diving in one location when there is tide running, but truth be told, I prefer to dive the slacks, it is much simpler. Lets say that you are wanting to collect uni on a particular reefand that you are on the reef. A real handy trick is to use a drop weight on the end of the float line
and anchor the float on the site. This way you are not fighting the current on your float and can use it for breath-ups. I have a short loop of tube on the down stream end of my float and just slide my hand through the loop and relax for both surface intervals and breath-ups. This gives you a safe haven from the current. Depending on the current you may need a pretty good anchor point. The folks in Brazil use small one pound weights that clip on to their belts for this. I use a small 5lb canoe anchor, which may seem like over-kill until you see your favorite float dirfting away.
My wife and I had a great time drift diving in Cuba this last year.
Each day we would hike up the beach a couple of miles and you guessed it hop in the water and slowly drift down stream.
Good drifting, and don't fight the current too much, try to use it,
Freediver48