Man swims 5 hours to get help when boat sinks