I think because it's not needed very often. However, there is an easy way to do this in C++:
#include <algorithm>
swap_ranges(ptr1, ptr1 + nbytes, ptr2)
It's it may not be quite as optimized as a compiler built in, but it has the potential of being faster than a loop you write for yourself, since it may have platform specific optimization that you would not implement.
You do need to be careful with the above, because it assumes that ptr1 and ptr2 are char pointers. The more canonical way to do this is:
#include <algorithm>
swap_ranges(ptr1, ptr1 + num_items, ptr2)