While I have not done it myself, and assuming that you want to reflect the new order in the source data, I think the following approach should work.
There are four parts to the solution:
1. You need the part of reordering grid records on the client-side; I beleive I have seens posted examples how to do that a while back.
2. You need an attribute in the data source to indicate the position of the item; technically you can do without it if the datasource is text/xml file but you will have to rewrite it to physically reflect the new order. The sequence numbers are recommended because the solution is then independent of physical ordering, and is immediately convertible to a database source.
3. You include the position attribute in the grid and make it hidden (or visible if it's relevant to the user). Then on the client-side you need to update these attributes as the row positions change. I guess you will do this by looping over the current client grid page and change the position attribute to the current row number.( Note that if the position numbers are hidden you need to the do this loop only once upon the initiation of the batch update command, since only the final client state is relevant, so it will be done as part of part 4. below)
4. The batch update on user's click is done as shown in this example
Edit: o.k. here is the link to the reordering sample:http://www.telerik.com/ClientsFiles/024435_ReorderGridRowsWithUpDownButtons.zip