
OneMac is able to detect link change and if it detects LAN cable connected, it sets LAN as primary (and vice versa). When WiFi is not set as primary, it can be turned off completely to save battery.
No other tool on the net worked for me (automatic wifi disabling on cable connect). So this is my response

Compatible with WIndows XP/Vista/7 x32/x64 non-UAC/UAC