Mobile P2P content distribution is a promising solution to offload overwhelming growing mobile data traffic and improve the end-user experience. We study optimal distributed caching problem for mobile peer-to-peer data dissemination that leverages local cache of mobile nodes and their mobility. The problem accounts for finding the assignment of proportion of nodes to forward a set of data channels so as to maximize the global performance. As the key assumption that facilitates the analysis, we derive a close-form approximation between dissemination time of a data channel and proportion of nodes forwarding that channel. We show optimal distributed caching problem is equivalent to optimization of aggregate dissemination time over all channels whose solution can be obtained by convex optimization. Simulations based on real user mobility trace show that optimal distributed caching outperforms other data caching heuristics, especially when the number of channels is large or when the cache size is small.