Du kannst EventListener für die Events "mouseDown", "mouseUp" und "mouseMove" erstellen und die Position darin entsprechend anpassen. Beispiel auf JSBin.
<div id="beweglichesDiv" style="width:100px;height:100px;background:lightblue;"></div>
<script type="text/javascript">
var isDragging = false;
var offsetX, offsetY;
var beweglichesDiv = document.getElementById('beweglichesDiv');
beweglichesDiv.addEventListener('mousedown', (e) => {
    isDragging = true;
    offsetX = e.offsetX;
    offsetY = e.offsetY;
});
document.addEventListener('mouseup', () => {
    isDragging = false;
});
document.addEventListener('mousemove', (e) => {
    if (isDragging) {
        var x = e.clientX - offsetX;
        var y = e.clientY - offsetY;
        beweglichesDiv.style.transform = `translate(${x}px, ${y}px)`;
    }
});
</script>