Data collection is one of the fundamental functions in wireless sensor networks (WSNs). Different from a typical WSN with only a single and stationary sink, this paper considers a scenario with multiple mobile sinks. The motivation is for a WSN to support future applications, such as Internet of Things (IoT). In this case, a WSN requires abilities to deliver sensing results to multiple users roaming in the network. There are two difficulties in this problem: sink mobility and multiple sinks. Since sinks are mobile, data delivery paths need to be updated frequently, which causes huge maintenance cost. To resolve this problem, we propose a hop-count-based architecture together with an efficient mobility management scheme. On the other side, sensing results from a large number of sensors are delivered to multiple sinks, which causes lots of packet transmissions. To reduce transmission cost, the concepts of multicast and data aggregation are integrated and applied. We first prove that a distributed multicast decision is a NP-hard problem and then propose a heuristic solution. Afterward, we further merge data aggregation into multicast and propose a distributed many-to-many aggregation scheme. Simulations are constructed to evaluate the efficiency of the proposed schemes. The results show that both the proposed multicast scheme and many-to-many aggregation scheme can efficiently reduce transmission cost and energy when delivering data to multiple mobile sinks.