I haven't done much research specific to TeamViewer, but as an app developer, I'd say it's very possible with certain limitation. The key is, you also need to install certain app on Android device as the interface between PC<->Android.
The Android SDK provides many things: given correct permissions, it can place a call, read/send messages, open app, read device's sensors, etc. If the app has Super User permission, then it will have greater capability.
If you look into the permission of TeamViewer app, you can more-or-less guess what features the remote app can do:
Version 10.0.2555 can access:
- Device & app history
- find accounts on the device
- modify or delete the contents of your USB storage
- test access to protected storage
- Wi-Fi connection information
- Device ID & call information
- read phone status and identity
- access SurfaceFlinger
- read frame buffer
- press keys and control buttons
- full network access
- prevent device from sleeping
- view network connections
- connect and disconnect from Wi-Fi
- pair with Bluetooth devices
- control vibration
- measure app storage space
- close other apps
- draw over other apps
Then, you have TeamViewer app installed on the PC. This works as a monitor/main control. Now, given 2 apps (PC and Android), both apps can communicate to each other (just like chat/messenger app). You can send a message from PC, then the Android app will receive the message, interpret it, and do something on the device. You can also request data from PC, then the Android app will again receive the message, interpret it, and send the data back to PC.