Assuming the varietals are known when tasted (i.e. you couldn't guess that the cheap Zin was an expensive Cab), a random assignment for a group of 3 would break down like this:
3 for 3: 1/6 of the time
1 for 3: 1/2 of the time
0 for 3: 1/3 of the time
Note: Can't go 2 for 3.
(3 * 1/6) + (1 * 1/2) + (0 * 1/3) = 1
Which means the expected number of correct guesses would be 1 (out of 3). You did better than random.
Regarding the poorer performance with the mid-priced wine:
You either get them all right, all wrong, or swap two of them
I think your results make sense since the least common errors would likely be mistaking a cheap for an expensive and vice versa. Therefore, you're probably most likely to mistake an expensive for a mid (and vice versa) or a cheap for a mid (and vice versa). In both cases, the mid-priced wine was involved, but each of the others was only involved in some fraction (summing to one) of those errors.