Why not use the channel capacity as the sliding window size? In a sliding window protocol, if we use the maximum possible capacity of the channel as the size of the sliding window, efficiency will be theoretically 100%.
What is the logic behind not doing this?

My guess is that this is done for throttling. Are there any other reasons?

EDIT: After reading the answer by bakuriu, I come to the conclusion that using the capacity as the sliding window size can make the system unreliable: 


The receiver buffer may fill up and the increased transfer rate at the sender side will become useless.  
Congestion and packet loss may increase.
Reasons are pointed out in the linked answer.


But what if it is an Ethernet (preferably a LAN) using the Selective Repeat protocol for the data flow and CSMA/CD for choosing the sending station.


The receiver window would be of the same size as the sender window. So, filling up the receiver buffer should not be a concern.  
There wouldn't be multiple stations competing for data transfer once the transfer has started (because of how CSMA/CD is defined).  
In a wired connection (and preferably being a LAN), packet loss would be less.   
Sender doesn't have to resend the whole window in case of packet loss or corrupted packet (because of Selective Repeat).


Do we usually try to use the channel capacity as the sliding window size in such (highly customized) cases?
Sliding windows are used to:


Keep track which packets were sent and received, hence the data transmission is reliable
Keep track of the memory available to the receiver. The receiver may fill its buffers and tell to the sender to slow down (because more packets will simply be dropped, causing the sender to re-send them with a probably bigger delay)


When multiple data streams pass through the same link you wont be able to use 100% of the capacity anyway, and probably more packets will be lost. In this situation sending more data simply means having to re-send the data later. That's why you want to avoid congestion and throttle the speed.

In summary: it is not true that sending data at the possible speed you can will result in the data being correctly transferred in a smaller time. It often simply means that you have to resend the same packets over again because they continue to get lost/dropped by congestioned routers/dropped by congestioned receiver. Sliding window are a way to control this and provide better overall performance.

Note: if you do not want a reliable transmission then sending at the maximum speed is better. However the amount of data that arrives correctly at the receiver may get quite small compared to what was sent.