Can I use template_preview in operator dialog?
I asked re context.material and where you are running this from as the following works for me. 

Well to some extent, in that the popup height is not taken up entirely by the preview at times.  

Dragging the resize widget ("=" above the Ok) will crash if the check method returns True (enables popup redraw) &amp; throws the error "context object has no attribute "material"" ... or crash blender.

Hence I went for context.object.active_material. (or somehow other than context.material)

If you find the height not right, can add the col.scale_y = 3 to give area to drag resize, then press again to see resize... trying to resize "live" in a popup appears very dodgy (speed wise) on my system.



import bpy
from bpy.types import Operator
class BigPreview(Operator):
    bl_idname = "myaddon.big_preview"
    bl_label = "Big Preview"

    def execute(self, context):
        print("Running big preview")
        return {'FINISHED'}

    def check(self, context):
        return False

    def invoke(self, context, event):
        wm = context.window_manager
        print("Invoke big preview")
        return wm.invoke_props_dialog(self, width=600, height=400)

    def draw(self, context):
        layout = self.layout
        mat = context.object.active_material
        col = layout.column()
        #col.scale_y = 2
        col.template_preview( mat, show_buttons=False, preview_id="corona.bigpreview")

def draw_button(self, context):
    self.layout.operator("myaddon.big_preview")

bpy.types.MATERIAL_PT_preview.append(draw_button)

bpy.utils.register_class(BigPreview)