I'm afraid your mechanic is right. There are two possible problems here: Firstly, Your sensor might be screwed, get that checked. If you're lucky this might be the problem, will save you from a huge hit on your wallet.
Secondly, this CVT gear's plates might be damaged. Most probably due to low gear oil or incorrect gear oil filling (other than CVT TC Toyota Oil) or any other possible reason.
Anyway, is your car changing gears on time? (CVT cars dont make the driver feel changing of gears but u can sense this)