You only have a couple options to get from Puno to Colca.
In Puno, you could buy a complete tour package ending in Arequipa or do it independently.
About a year ago I did the 4M bus from Puno to Chivay - it was great, barely anyone on it and really comfortable. A little expensive but it's a simple way of making that trip. In Chivay we found we'd have to wait for a while for the next local bus onward to Cabanaconde so myself and a couple on the 4M bus teamed up for a taxi - it cost us S/100, bargained down from S/100, so it's not bank-breaking.
To get back to Arequipa I caught one of the regular local buses, which cost me S/17 for the whole way - everyone changed buses at Chivay but it was on one ticket. That took about six hours all in. It was really easy but long!
@ joanne - that's really not great bargaining for the taxi :)
We caught the Rutas Del Sur bus from Chivay to Puno this May. It does the same route as 4M but is cheaper and was very comfortable.