Please check this.
Are there any more services I can find online?
You can find more provided services after calling “roslaunch xarm_bringup xarm7_server.launch robot_ip:=xxx.xxx.xxx.xxx” and then “rosservice list | grep xarm”, meaning of the services can be looked up at xarm_msgs/srv
Are all these rosservice calls functional in simulation?
No, these xarm_api service calls are for real xArm control, an IP address of robot controller is needed.
Are rosservices the only way to interface ROS with the api?
If to use API, yes. However, moveit can be used to control both simulated xArm in gazebo and real xArm hardware. Check: https://github.com/xArm-Developer/xarm_ros#55-xarm7_moveit_config
Has anyone gone further than services for usecases (using smach or other task architecture)?
Not yet. For now, simulation can be done by Moveit/Rviz. Real arm control can be done by both ros_service and Moveit.